C#中,实现插入排序,支持int和float

2024-02-04  本文已影响0人  全新的饭

因为无法直接限制T是int或float,因此直接要求T实现IComparable。
注意:无法使用比较运算符(>,<,>=,<=),只能使用CompareTo进行比较。

public T[] InsertionSort<T>(T[] array) where T : IComparable
    {
        T temp;
        for (int i = 1; i < array.Length; i++)
        {
            for (int j = i; j > 0; j--)
            {
                if (array[j].CompareTo(array[j - 1]) < 0)
                {
                    temp = array[j];
                    array[j] = array[j - 1];
                    array[j - 1] = temp;
                }
            }
        }
        return array;
    }
上一篇 下一篇

猜你喜欢

热点阅读