快速排序

基本思想

  • 先从数列中取出一个数作为基准数。
  • 分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。
  • 再对左右区间重复第二步,直到各区间只有一个数。
实现原理
  • 选择最左侧元素为基准数pivot,并记录
  • 设置两个变量l和r分别指向头尾元素
  • 从后向前搜索,直至找到比pivot小的数字,记录当时r值,并将该元素替换到pivot
  • 从前向后搜索,直至找到比pivot大的数字,记录当前l值,并将该原子替换到下标为r的位置
  • 当l==r时,将pivot赋值到此位置
代码实现
public class Quick_Sort {public static void quick_sort(int[] array,int left,int right){ if (array==null||array.length<=0){ return; } if (left=pivot){ r--; } if (l【快速排序】

    推荐阅读