4-37排序。
题目:对10个数进行排序。

分析:
快速排序的基本思想是:选取一个元素作为基准值(pivot),将要排序的数组分成两个部分,其中一部分所有的元素都比基准值小,另一部分所有的元素都比基准值大。然后对这两部分分别进行快速排序,重复该过程,直到所有子集只包含单个元素时结束。
下述代码中的 quicksort
函数就是实现了这个过程,其中:
left
和right
分别表示需要排序的数组的左右指针。pivot
表示基准点,取中间值。while
循环中,通过左右指针的移动,找到左半部分大于等于基准点、右半部分小于等于基准点的数,并交换它们的位置。if
判断中,如果左侧还有未排序的数,则递归继续对左半部分进行快速排序;同理,如果右侧还有未排序的数,则递归继续对右半部分进行快速排序。


示例: