码迷,mamicode.com
首页 > 编程语言 > 详细

一起talk C栗子吧(第三十回:C语言实例--快速排序)

时间:2015-08-04 00:46:22      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:c语言   快速排序   


各位看官们,大家好,上一回中咱们说的是选择排序的例子,这一回咱们说的例子是:快速排序。闲话休

提,言归正转。让我们一起talk C栗子吧!


快速排序的原理:选定一个关键字,使容器分为两部分,一部分中的任何元素都关键字大,另一部分中的

任何元素都比关键字小。然后分别对这两个部分进行排序。


快速排序的实现步骤

  • 1.选定一个关键字,我在代码里直接使用容器头部元素为关键字;
  • 2.从容器的尾部到头部遍历容器,直到遇见到比关键字小的元素,然后将它交换到关键点的左边;
  • 3.从容器的头部到尾部遍历容器,直到遇见到比关键字大的元素,然后将它交换到关键点的右边;
  • 4.反复进行步骤2和3,直到步骤2和3中在遍历过程中相遇为止;
  • 5.此时,找到了容器的分界点,分界点左边的元素比关键字大,右边的元素比关键点小;
  • 6.对分界点左边的元素重复步骤1到步骤5,在程序中使用递归来实现这个步骤;
  • 7.对分界点右边的元素重复步骤1到步骤5,在程序中使用递归来实现这个步骤。


看官们,正文中就不写代码了,详细的代码放到了我的资源中,大家可以点击这里下载使用。快速排序是

所有排序算法中性能最好的,这也是叫它快速排序的原因。


各位看官,关于快速排序的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解。


版权声明:本文为博主原创文章,未经博主允许不得转载。

一起talk C栗子吧(第三十回:C语言实例--快速排序)

标签:c语言   快速排序   

原文地址:http://blog.csdn.net/talk_8/article/details/47265409

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!