首页文章三大主要排序方法总结:快速排序,选择排序,冒泡排序

三大主要排序方法总结:快速排序,选择排序,冒泡排序

时间2025-04-10 12:30:53发布yu分类文章浏览16
导读:本文介绍:三大排序方法(快速排序,选择排序,冒泡排序)(后续期间可能会发布一篇关于qsort函数的文章) 自我介绍:一个脑子不好的大一学生,c语言接触还没到半年,若涉及到效...

本文介绍:三大排序方法(快速排序,选择排序,冒泡排序)(后续期间可能会发布一篇关于qsort函数的文章)

自我介绍:一个脑子不好的大一学生,c语言接触还没到半年,若涉及到效率等问题,各位都可以在评论区提出见解,谢谢啦。

该账号介绍:此帐号会发布游戏(目前还只会简单小游戏),算法,基础知识等内容。

文章特点:会将重要步骤和易错点在代码中用注释标示(方便各位理解和定位)

(1)初始版本

在整个数组中选择最小的数,放到最前的位置

动图链接:

https://img-blog.csdnimg.cn/20200629172829794.gif

 

(2)优化版本

通过同时找筛查范围的最大值和最小值下标,并将其分别移至该数组的最前方和最后方,以减少其比较次数(以下图片方便理解)

 

通过相邻两数的比较,将大的数逐渐移至数组较后的位置,最后将最大的元素冒泡至最后

理解动图:https://img-blog.csdnimg.cn/2020062712431452.gif

 
 

思路

先取a[0]为基准值,左指针为0,右指针为n-1,i=左指针,j=右指针,如果a[j]>=基准值,j向左移动,如果不是,则a[i++]=a[j];如果a[i]<=基准值,i向右移动,如果不是,则a[j--]=a[i];直到i等于j,本次循环结束(左边已经全为小于基准值的数,右边已经全为大于基准值的数,令a[i]=基准值),递归进入下一次循环,参数为:pai_xu(a,l,i-1);pai_xu(a,i+1,r);

动图链接:https://img-blog.csdnimg.cn/202105.gif#pic_center#pic_center

(动图中的key即为我的:ji_zhun)

 

今天时2024年1月1日,在此对大家说一句:元旦快乐,祝你在新的一年收获满满,健健康康,平平安安

海宁版权声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com

展开全文READ MORE
选择排序快速排序
国家金融监督管理总局有关负责人就《固定资产贷款管理办法》《流动资金贷款管理办法》《个人贷款管理办法》答记者问 如何建立一个成功的跨境独立站?