首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

2012-03-19 
C# Generics 进行直接插入排序class MySortT{public void InsertSort(T []a){T tint jfor (int i 1

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;            }        }    } 

热点排行