编程时遇到排序在平常不过,使用.Net最常见的就是对泛型List<T>进行排序,如果T是简单数据类型排序那么很简单
同样对string等简单类型List<T>排序均如此,如果我们要排的对象复杂了怎么办,我们知道List<T> sort()最后是用快速排序实现,快速排序也好,什么排序都需要知道list中item之间的比较结果,如果是简单的int类型,直接判断即可,对实现了IComparable接口的对象,可以调用其CompareTo()实现item比较大小,下面是一个快速排序的写法
while (array[--j].CompareTo(middle) > 0) ;
if (i >= j)
break;
T temp = array[i];
array[i] = array[j];
array[j] = temp;
}
Sort(array, left, i - 1, comparer);
Sort(array, j + 1, right, comparer);
}
}
本文地址:https://www.stayed.cn/item/25749
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我