如何使此代码可重复使用

本文关键字:何使此 代码 | 更新日期: 2024-10-19 21:38:39

我目前有一个bubble排序方法(如下所示),但我不确定如何修改它以使其可重复使用,所以我每次调用该方法时都可以简单地插入一个新数组,而不是重复相同的代码,而不是只有变量arri?谢谢

static void bsort(float[] arr)
    {
        float temp = 0;
        for (int write = 0; write < arr.Length; write++)
        {
            for (int sort = 0; sort < arr.Length - 1; sort++)
            {
                if (arr[sort] < arr[sort + 1])
                {
                    temp = arr[sort + 1];
                    arr[sort + 1] = arr[sort];
                    arr[sort] = temp;
                }
            }
        }
        for (int i = 0; i < arr.Length; i++) ;
    }

如何使此代码可重复使用

您可以使用IComparable<T>,如本线程中所述

通用BubbleSort扩展

像这样。。。

 public static void BubbleSort<T>(T[] array) where T : IComparable
        {
            for (int outer = array.Length; outer >= 1; outer--)
            {
                for (int inner = 0; inner < outer - 1; inner++)
                {
                    if (array[inner].CompareTo(array[inner + 1]) > 0)
                    {
                        T swap = array[inner];
                        array[inner] = array[inner + 1];
                        array[inner + 1] = swap;
                    }
                }
            }
        }