c#快排算法

来源:互联网 发布:软件功能设计图 编辑:程序博客网 时间:2024/04/18 12:19
//这个是我测试了的快排算法,中间值只能放到后面的分区去做,最主要的就一分区,然后递归了/// /// QueckSort类 /// public class QueckSort { private void swap(ref int a, ref int b) { int temp = a; a = b; b = temp; } private int partion(int[] array, int low, int high) { int standValue = array[high]; int i = low; int j = low - 1; for (; i < high; i++) { if (array[i]<=standValue) { j++; if (i!=j) { swap(ref array[i], ref array[j]); } } } swap(ref array[j + 1],ref array[high]); return j; } public void Sort(int[] array, int low, int high) { if (low<high) { int middleIndex = partion(array, low, high); Sort(array, low, middleIndex); Sort(array, middleIndex +1, high); } } }
0 0
原创粉丝点击