2022年c排序算法 .pdf
《2022年c排序算法 .pdf》由会员分享,可在线阅读,更多相关《2022年c排序算法 .pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.稳定性比较插入排序、冒泡排序、二叉树排序、二路归并排序及其他线形排序是稳定的选择排序、希尔排序、快速排序、堆排序是不稳定的2.时间复杂性比较插入排序、冒泡排序、选择排序的时间复杂性为O(n2) 其它非线形排序的时间复杂性为O(nlog2n) 线形排序的时间复杂性为O(n); 3.辅助空间的比较线形排序、二路归并排序的辅助空间为O(n), 其它排序的辅助空间为O(1); 4.其它比较插入、冒泡排序的速度较慢,但参加排序的序列局部或整体有序时,这种排序能达到较快的速度。反而在这种情况下,快速排序反而慢了。当 n 较小时,对稳定性不作要求时宜用选择排序,对稳定性有要求时宜用插入或冒泡排序。若待排
2、序的记录的关键字在一个明显有限范围内时,且空间允许是用桶排序。当 n 较大时,关键字元素比较随机,对稳定性没要求宜用快速排序。当 n 较大时,关键字元素可能出现本身是有序的,对稳定性有要求时,空间允许的情况下。宜用归并排序。当 n 较大时,关键字元素可能出现本身是有序的,对稳定性没有要求时宜用堆排序。1,大家都知道的冒泡排序: i nclude i nclude using namespace std; template 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8
3、 页 - - - - - - - - - void swap(type x,int,int); template void BubbleSort(type x,int); int main() srand(time(0); const int n=10; int xn; for(int i=0;i x i=rand()%99; for(int i=0;i cout BubbleSort(x,n); coutnAfter Sort: for(int i=0;i cout =0;i-) int flag=0; for(int j=0;j if(x jx j+1) swap(x,j,j+1); fl
4、ag=1; if(flag=0) return; template void swap(type x,int n,int m) int temp=xn; xn=xm; xm=temp; 2,简单的选择排序i nclude i nclude using namespace std; template void swap(type x,int,int); template void SlectSort(type x,int); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共
5、8 页 - - - - - - - - - int main() srand(time(0); const int n=10; int xn; for(int i=0;i x i=rand()%99; for(int i=0;i cout SlectSort(x,n); coutnAfter Sort: for(int i=0;i cout system(pause); return 0; template void swap(type x,int n,int m) int temp=xn; xn=xm; xm=temp; template void SlectSort(type x,int
6、n) for(int i=0;i for(int j=i+1;j if(x j swap(x,i,j); 3,插入排序i nclude i nclude using namespace std; template void swap(type x,int,int); template void InsertSort(type x,int); int main() srand(time(0); const int n=10; int xn; for(int i=0;in;i+) x i=rand()%99; for(int i=0;in;i+) cout x i; InsertSort(x,n)
7、; coutnAfter Sort:endl; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - for(int i=0;in;i+) cout x i; system(pause); return 0; template void swap(type x,int n,int m) int temp=xn; xn=xm; xm=temp; template void InsertSort(type x,int n) for(int
8、 i=1;i0;j-) if(x jx j-1) swap(x,j,j-1); 4:希尔排序i nclude i nclude using namespace std; template void swap(type x,int,int); template void ShellSort(type x,int); template void ShellSorthelper(type x,int,int); int main() srand(time(0); const int n=10; int xn; for(int i=0;in;i+) x i=rand()%99; for(int i=0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年c排序算法 2022 排序 算法
限制150内