快速排序
// 快排,双指针挖坑,交互,分治法 public void quickSort (int[] array,int low, int height) { if(low >= height) { return; } int left = low, right = height; int base = array[left]; //基数,array[left] 出现坑位 while (left < right) { while (left<right && array[right]>base){ right--; // 比基数大,继续往低位找 } if (left < right){ array[left++] = array[right]; // 填到低位坑位中 } while (left<right && array[left]<=base){ left++; // 比基数小,继续往高位找 } if (left<right){ array[right--]=array[left];// 填到高位坑位中 } } array[left] = base; // 中间位 quickSort(array,low,left); // 比基数小部分 quickSort(array,left+1,array.length-1); // 比基数大部分 }