读书人

C# Generics 进行直接插入排序,该如何

发布时间: 2012-03-19 22:03:05 作者: rapoo

C# Generics 进行直接插入排序
class MySort<T>
{
public void InsertSort(T []a)
{
T t;
int j;
for (int i = 1; i < a.Length; i++)
{
t = a[i];
for (j = i; j > 0 && a[j - 1] > t; j--)
a[j] = a[j - 1];
a[j] = t;
}
}
}

a[j-1]>t编译说运算符>无法运用于“T”,请问该如何解决

[解决办法]

C# code
    class MySort<T> where T : IComparable                                     //<---    {        public void InsertSort(T[] a)        {            T t;            int j;            for (int i = 1; i < a.Length; i++)            {                t = a[i];                for (j = i; j > 0 && a[j - 1].CompareTo(t) > 0; j--)           //<---                    a[j] = a[j - 1];                a[j] = t;            }        }    } 

读书人网 >C#

热点推荐