首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

排序时您最喜欢的算法是什么

2013-03-01 
排序时你最喜欢的算法是什么排序时你最喜欢的算法是什么,最常用的算法是什么,最不喜欢的和最不常用的分别

排序时你最喜欢的算法是什么
   排序时你最喜欢的算法是什么,最常用的算法是什么,最不喜欢的和最不常用的分别是什么呢?
[解决办法]
冒泡,没有库函数时随手就写一个
[解决办法]
最喜欢的常用的应该是快排吧,最不喜欢的貌似没有,最不常用的排序就太多了
[解决办法]
用库啊,必须的啊。自己写,难道不需要测试吗?测试用例能写全吗?

再说了,用非C++以外的,例如Java,C#,Ruby啥的,也不需要自己写sort啊。
[解决办法]
最喜欢的是外部排序吧,最常用的是sort。最不常用的是冒泡等n^2排序算法。
[解决办法]
不喜欢排序的飘过
[解决办法]
qsort,妥妥的。
[解决办法]

引用:
用库啊,必须的啊。自己写,难道不需要测试吗?测试用例能写全吗?

再说了,用非C++以外的,例如Java,C#,Ruby啥的,也不需要自己写sort啊。

+1

除非效率不够才自己写。
不过开发做到现在,也没遇到项目里要自己写排序的。
[解决办法]
排序的选择应该和你目前的数据的特性有关系
时间复杂度因为你的数据特性不同有不同,比如你的数据本就是有序数列,还是无序
还是比较有序,数据大小如何,都是选择的依据
[解决办法]
引用:
用库啊,必须的啊。自己写,难道不需要测试吗?测试用例能写全吗?

再说了,用非C++以外的,例如Java,C#,Ruby啥的,也不需要自己写sort啊。

坚决不手写,直接用库函数。
[解决办法]
1000个左右自己写冒泡,
100000个左右用qsort函数,
1000000以上放数据库里面然后建索引,
10000000以上没遇到过。
[解决办法]
快排    堆
[解决办法]
能不写就不写。自己写了还要费半天劲保证它的正确性,浪费时间。
[解决办法]
如果是内部排序,qsort足以,其他的都是浮云。

#include <stdlib.h>

void qsort(void *base, size_t nmemb, size_t size,
    int(*compar)(const void *, const void *));

[解决办法]
70%以上的应用场景中qsort表现都很好,这还不够好吗?

引用:
引用:如果是内部排序,qsort足以,其他的都是浮云。
C/C++ code?1234#include <stdlib.h> void qsort(void *base, size_t nmemb, size_t size,    int(*compar)(const void *, const void *));

快速排序真的那么好吗?
首先,它是一种不稳定的排序,如果排序有特殊要求快排不行,不如归并排序。
其次,虽然复杂度为O(nlogn),但是最差情况达到O(n*n),不如堆排序和归并排序。

[解决办法]
qsort和冒泡
[解决办法]
引用:
不过我说难听点比较吹毛求疵,那30%的情况楼主会用怎样的方式解决呢?


遇到什么问题就用什么算法啦。
比如需要稳定的排序就可以试试merge sort(当然需要O(n)的额外空间)


[解决办法]
暂时玩过冒泡
[解决办法]
冒泡 -->  快排 --> 直接库

热点排行