永发信息网

C++排序有哪几种最常用,最好用?

答案:4  悬赏:10  手机版
解决时间 2021-03-05 17:17
C++排序有哪几种最常用,最好用?
最佳答案
在C++排序中,最常用、最好用的有
1. 冒泡排序(bubble sort),时间复杂度为O(n^2);

2. 鸡尾酒排序(Cocktail sort,双向的冒泡排序),时间复杂度为O(n^2);
3. 快速排序(Quick sort,是对冒泡排序的一种改进),时间复杂度下界为O(nlogn),最坏情况为O(n^2);

4. 插入排序(insertion sort),时间复杂度为O(n^2);
5. 希尔排序(Shell Sort,插入排序的一种,也称缩小增量排序),时间复杂度为O(nlog n) ;
6. 选择排序(selection sort),时间复杂度为O(n^2);
7. 堆排序(Heap sort,选择排序的一种。),时间复杂度为O(nlog n);
8. 归并排序(Merge sort),时间复杂度为O(nlog n);
9. 基数排序(radix sort),时间复杂度为O (nlog(r)m),其中r为所采取的基数,而m为堆数
在C++中有排序函数sort(),包含在<algorithm> 中,参数格式为
sort(a+begin,a+end);
其中begin表示所需要排序的数组a的开头,end则表示所需要排序的数组a的最后一个元素的位置。
全部回答
通常有插入,冒泡,桶,交换排序,堆排序,根据数据量大小各有优缺点。STL提供的快速排序能够动态的根据数量多少选择经验上最恰当的排序算法,所以std::sort是集成了所有排序有点的最好排序算法
在c++排序中,最常用、最好用的有 1. 冒泡排序(bubble sort),时间复杂度为o(n^2); 2. 鸡尾酒排序(cocktail sort,双向的冒泡排序),时间复杂度为o(n^2); 3. 快速排序(quick sort,是对冒泡排序的一种改进),时间复杂度下界为o(nlogn),最坏情况为o(n^2); 4. 插入排序(insertion sort),时间复杂度为o(n^2); 5. 希尔排序(shell sort,插入排序的一种,也称缩小增量排序),时间复杂度为o(nlog n) ; 6. 选择排序(selection sort),时间复杂度为o(n^2); 7. 堆排序(heap sort,选择排序的一种。),时间复杂度为o(nlog n); 8. 归并排序(merge sort),时间复杂度为o(nlog n); 9. 基数排序(radix sort),时间复杂度为o (nlog(r)m),其中r为所采取的基数,而m为堆数 在c++中有排序函数sort(),包含在 中,参数格式为 sort(a+begin,a+end); 其中begin表示所需要排序的数组a的开头,end则表示所需要排序的数组a的最后一个元素的位置。
排序大类分为内排序和外排序,通常排序指的是内排序 内排序主要分为: 插入排序(直接插入排序,折半插入排序,Shell排序) 交换排序(冒泡排序,快速排序) 选择排序(简单选择排序,堆排序) 归并排序 基数排序 每种排序根据问题的规模以及初始排序表排列情况性能而不同,一般来讲,快速排序的平均性能最好。在C++中,可以使用标准库算法中的sort进行排序,它会根据情况动态地选择一种高效排序算法。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
【小学课题研究】小学作文课题计划
求"舞出我人生3"里所有背景音乐歌名和演唱者~
新课程理念下,高中教育要培养什么样的人
用洗洁精洗碗要用多少水才能冲干净
明辉印刷厂在哪里啊,我有事要去这个地方
手机上有什么软件可以看陆贞传奇
黄石到河南南街村走那条高速公路最近
五洲装饰材料我想知道这个在什么地方
青椒红椒可以做什么菜
邢台市桥东区哪里有批发冷饮雪糕的?雪糕主要
为什么伤感是爱的遗产
秦朝时夫妇食黍的黍是什么东西
卖二手房卖方都需要缴纳哪些费用?
供销社五金电料土产商店地址有知道的么?有点
22点30减19点40等于多少
推荐资讯
梦见和师傅在床上聊天
力求的近义词
主神宙斯大发雷霆改为比喻句
仓鼠吃东西少 不存腮帮子 也不跑跑轮怎么办
红芳美容美发地址在什么地方,想过去办事
星光老年之家(海鸥二村西南)在哪里啊,我有事
唯美国际美容美体地址在哪,我要去那里办事
请问cosplay妆面跟专业化妆的妆面有什么区别
冬天江里钓鱼用什么铒料
灯谜长篇小说打一成语的答案
日本的五大昔话是什么意思啊
In order to find ways of associating the n
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?