快速排序法步骤

算法步骤:


1.从数列中挑出一个元素,称为“基准”(pivot),


2.重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。


在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作。


3.递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。


递归的最底部情形,是数列的大小是零或一,也就是永远都已经被排序好了。虽然一直递归下去,但是这个算法总会退出,因为在每次的迭代(iteration)中,它至少会把一个元素摆到它最后的位置去。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、直接插入排序 直接插入排序(Insertion Sort)的基本思想是:每次将一个待排序的元素记录,按其关键字...
    kevin16929阅读 3,677评论 0 0
  • 十大经典排序算法 来源:https://github.com/wangguanfu/-Sorting-algori...
    星丶雲阅读 4,147评论 0 7
  • 十大排序 选择排序 插入排序 冒泡排序(非优化版本,优化版本) 希尔排序 归并排序(递归式归并排序,非递归式归并排...
    _Cappuccino_阅读 14,256评论 0 0
  • python 十大经典排序算法 (博客园) https://www.cnblogs.com/wuxinyan/p/...
    长风哥哥阅读 3,902评论 0 5
  • 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳...
    Aedda阅读 2,532评论 0 3

友情链接更多精彩内容