1、快速排序理念
找基准线,基准线将数组分为两部分,左边小于基准线的值,右边大于基准线的值,递归排序。
2、java代码
public static void quickSort(int[] list,int left,int right){ if(left < right){ // 1、找基准线 int point = partition(list,left,right); // 2、递归排序左字数组 quickSort(list,left,point-1); // 3、递归排序右字数组 quickSort(list,point+1,right); } } public static int partition(int[] list,int left,int right){ int first = list[left]; while (left < right){ while (left < right && first <= list[right]){ right--; } swap(list,left,right); while (left < right && first >= list[left]){ left++; } swap(list,left,right); } return left; } public static void swap(int[] list,int left,int right){ int temp = list[left]; list[left] = list[right]; list[right] = temp; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)