欢迎光临散文网 会员登陆 & 注册

4-37排序。

2023-04-02 16:05 作者:清风未定  | 我要投稿

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

分析:

快速排序的基本思想是:选取一个元素作为基准值(pivot),将要排序的数组分成两个部分,其中一部分所有的元素都比基准值小,另一部分所有的元素都比基准值大。然后对这两部分分别进行快速排序,重复该过程,直到所有子集只包含单个元素时结束。

下述代码中的 quicksort 函数就是实现了这个过程,其中:

  • left 和 right 分别表示需要排序的数组的左右指针。

  • pivot 表示基准点,取中间值。

  • while 循环中,通过左右指针的移动,找到左半部分大于等于基准点、右半部分小于等于基准点的数,并交换它们的位置。

  • if 判断中,如果左侧还有未排序的数,则递归继续对左半部分进行快速排序;同理,如果右侧还有未排序的数,则递归继续对右半部分进行快速排序。

程序:

示例:


4-37排序。的评论 (共 条)

分享到微博请遵守国家法律