一、算法原理 每次排序时选取一个基准,将小于基准的数全部放到基准点的左边,将大于或等于基准的数全部放到基准的右边。 完成后,得到了两个 整体 上有序的子数组,再递归继续,直至所有元素完成排序。 算法模拟 假设对 6 , 1 , 2 , 7 , 9 , 3 , 4 , 5 , 10 , 8 这 10 个数进行排序: 本次模拟的基准是以数组的第一个元素为基准的。 从后向前扫描, i 去向右找第一个大于 基准 6 (这个 6 是选择的第一元素,代码中我们将选择中间位置的元素,道理都是一样的) 的数字, j 向左查找第一个小于基准 6 数字: 找到 7 和 5 ,交换 7 和 5 继续前进,找到 ...