第一篇 博客 记录一个自己写的性能超级差的方法 以后想办法找出原因
时间:2011-06-13 来源:人在做,人在看
public static void QuickSort<T>(int sta, int end, List<T> rows, Func<List<T>,int ,int, bool> comp) { if (sta > end) { return; } int temp; //第一次交换 int temp3 = new Random().Next(sta, end); T x0; x0 = rows[sta]; rows[sta] = rows[temp3]; rows[temp3] = x0; temp = sta; for (int i = sta + 1; i <= end; i++) { if (comp(rows,i,sta)) { //第二次交换 int temp2 = ++temp; T x; x = rows[temp2]; rows[temp2] = rows[i]; rows[i] = x; } } //第三次交换 T x2; x2 = rows[sta]; rows[sta] = rows[temp]; rows[temp] = x2; QuickSort(sta, temp - 1, rows, comp); QuickSort(temp + 1, end, rows, comp); }
相关阅读 更多 +