相关动态
C语言实现数组快速排序算法
2024-12-31 06:18
C语言实现数组快速排序算法
快速排序算法,顾名思义,是迄今为止发现的速度最快的排序算法。快速排序算法采用分治的思想,首先在要排序的序列{5,8,7,6,4,3,9}中选取一个基准数(一般选取序列的第一个,其实选取哪个是无关紧要的,将序列分成两部分,其中基准数的左边全是小于基准数的数,基准数右边是大于或者等于基准数的数。这样,基准数的位置在序列中的位置就固定了,然后将基准数两边的序列进行相同的处理,直到最后一个序列只有一个数字,这样算法就完成了。图解如下

序列{5,8,7,6,4,3,9},第一次选取基准数5进行一次划分,划分后的序列为:{3,4,5,6,8,7,9},5左边的序列{3,4}进行相同的划分,选取这个序列的基准数为3,划分后的结果为{3,4},此时3的左边已没有序列,而3右边的序列为{4},因为这时序列中只有一个数字,显然这样的序列是已经排好序的;然后处理第一次基准数5右边的序列{6,8,7,9},选取基准数为6,进行划分后序列为{6,8,7,9},6左边已经没有序列,6右边的序列为{8,7,9},对这个序列选取基准数为8,进行划分得{7,8,9},8左边和序列为{7},右边的序列为{9},此时,排序已经完成。动态图如下

可见,快速排序的核心算法就是划分算法,在我们上面的讨论中,这种划分算法是由Glenn W. Rowe提出的,还有一种更早的划分算法是由C. A. R. Hoare提出的。这里只讨论和实现Glenn W. Rowe提出的划分算法。快速排序算法的运行过程如下
开始——划分序列——得到划分序列的子序列——再次划分——得到划分序列的子序列……。
首先讨论Glenn W. Rowe划分算法
假如Glenn W. Rowe划分算法选取数组第0位作为基准数,那么Glenn W. Rowe划分算法从数组第1位扫描到数组最后一位,遇到比基准数大的,就交换到右边,比基准数小的,交换到左边,其算法时间复杂度为O(n)
实现代码如下
    以上就是本篇文章【C语言实现数组快速排序算法】的全部内容了,欢迎阅览 ! 文章地址:http://ww.kub2b.com/news/16669.html
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站 http://ww.kub2b.com/mobile/ , 查看更多   
最新文章
智能家居“伪智能”、直播间买到的羽绒服穿不了……江苏一季度消费投诉热点出炉
4月9日,江苏省消费者权益保护委员会发布2025年一季度消费投诉及舆情热点报告。一季度全省消保委系统受理投诉51464件,接待消费
智能手机传感器及作用大盘点手机的作用「智能手机传感器及作用大盘点」
已经成为不可思议的小机器,几十年前,这样的设备只存在于科幻小说。如果回到几十年前,人们可能会认为是魔法。现在已经成为最普
您知道唐僧师徒在南通长牌中分别是谁吗?
《西游记》中,猪八戒与孙悟空对峙打斗时,曾经这样说“放生遭贬出天关,福陵山下图家业。我因有罪错投胎,俗名唤做猪刚鬣”,这
【华为】新版模拟器eNSP Lite安装攻略提前解锁华为手机模拟器「【华为】新版模拟器eNSP Lite安装攻略提前解锁」
新版模拟器eNSP Lite资源下载:华为新版模拟器eNSPLite镜像资源资源-CSDN文库    最近华为发布了新版模拟器eNSP Lite
Android监控虚拟键 android手机虚拟摄像头手机IM「Android监控虚拟键 android手机虚拟摄像头」
在工作中,camera这一块上,可能会有各种各样的需求。比如有人想新增一个虚拟摄像头,当用户app打开摄像头设备时,打开的不是系
微信语音怎么提取到电脑【苹果安卓手机】苹果手机备份到电脑「微信语音怎么提取到电脑【苹果安卓手机】」
微信语音中可能保存着一些温馨记忆,如年迈父母发给自己的语音消息,微信语音中也可能保存着知识技能,如培训老师发给自己的各种
修成正果!安东尼已被通知入选2025年奈史密斯篮球名人堂
北京时间4月3日讯 据Shams Charania报道,十次入选NBA全明星的卡梅隆·安东尼已获通知,他被选入2025年奈史密斯篮球名人堂。曾六
在任意手机上使用带有图形化界面(GUI)的完整Linuxlinux手机「在任意手机上使用带有图形化界面(GUI)的完整Linux」
不过,在我们今天的任务中只有运行者两者。这篇教程不会讲述任何运行后的自定义使用。不同于之前的两次尝试——安装Window
腾讯史上最大就业计划技术岗超六成,大厂加码AI人才校招
4月17日,腾讯宣布启动史上最大就业计划,三年内将新增28000个实习岗位并加大转化录用,仅2025年将迎来10000名校招实习生。在大
纪律处罚消息两则:海港主教练穆斯卡特停赛1场罚款1万 & 广东男篮外援莫兰德罚款3万
各CBA俱乐部、赛区:2025年4月8日,2024-2025赛季CBA联赛季后赛12进8阶段场序467,上海久事大鲨鱼俱乐部久事篮球队与广东宏远华