浅谈C++之冒泡排序、希尔排序、快速排序、插入排序、堆排序、基数排序性能对比分析(好戏在后面有图有真相)
15页1、 最近一段时间去武汉参加了N多笔试,在几次试题中都出现了排序。偏偏出现了我没怎么看的插入排序,弄得我好是纠结。趁回学校的机会把这几个不是很复杂的排序重新复习了一下,借此比较了一下他们的效率。让我有点以外的是在数据量达到1W10W之间,希尔排序竟然比快速排序效率还要高。贴上完整代码!冒泡排序 1 /冒泡排序 2 / 3 void BubleSort(int a,int n) 4 5 int temp; 6 bool flag=false; 7 for (int i=0;in;i+) 8 9 flag=true;10 for (int j=0;jaj+1)13 14 temp=aj;15 aj=aj+1;16 aj+1=temp;17 flag=false;18 19 20 if(flag) break;21 22 冒泡排序的时间复杂度为O(n),在数据比较小的情况下各个算法效率差不多。希尔排序:以前竟然没有发现,希尔排序如此短小精悍的代码。其效率很多时候并不输给快速排序其时间复杂度为O(nlogn)。 1 void ShellSort(int array,int length) 2 3
2、4 5 int d = length/2; /设置希尔排序的增量 6 int i ; 7 int j; 8 int temp; 9 while(d=1) 10 11 for(i=d;i=0 & arrayjtemp) 16 17 arrayj+d=arrayj; 18 j=j-d; 19 20 arrayj+d = temp; 21 22 /Display(array,10); 23 d= d/2; /缩小增量 24 25 快速排序: 1 /快速排序 2 / 3 void Swap(int &a,int &b) 4 5 int temp; 6 temp=a; 7 a=b; 8 b=temp; 9 10 11 int Partition(int a,int p,int r)12 13 int i=p;14 int j=r+1;15 int x=ap;16 while (true)17 18 while(a+ix&ix);20 if (i=j)break;21 Swap(aj,ai);22 23 24 ap=aj;25 aj=x;26 return j;27 28 29 void Quic
《浅谈C++之冒泡排序、希尔排序、快速排序、插入排序、堆排序、基数排序性能对比分析(好戏在后面有图有真相)》由会员cn****1分享,可在线阅读,更多相关《浅谈C++之冒泡排序、希尔排序、快速排序、插入排序、堆排序、基数排序性能对比分析(好戏在后面有图有真相)》请在金锄头文库上搜索。
一年级语文下册复习整理
媒体常见误用词语辑录
2023年电台值机员岗位职责(精选多篇)
2024砂石料采购合同范本.doc
整理好的湖南省普通话水平测试样卷.doc
托管学生作业辅导情况记录表
学校会计二月工作计划标准模板(五篇).doc
儿童画教学的几点体会
申论热点:公交车安全
【最新版】高中同步测试卷粤教语文必修5:高中同步测试卷十一 Word版含答案
《夜晚的实验》教学设计
2021年销售业务员工作总结
关于实习鉴定表自我鉴定范文汇编10篇
桥梁综合接地质量控制总结参考(2篇)
小学数学新课程标准2013
专科护士个人工作计划范文(5篇)
不发火防爆面层工程检验批质量验收记录表
河南省信阳一高高二化学下学期暑假自学自测考点专练化学实验综合应用
机器人项目研究报告
宁国市中医项目企划书(模板范本)
2023-08-29 9页
2024-01-06 5页
2023-01-20 6页
2022-12-18 25页
2023-04-17 9页
2023-03-10 58页
2023-05-15 15页
2023-11-26 11页
2022-11-23 8页
2023-05-22 6页