C++有哪些比较大小的排序方法?

如题所述

各种排序算法

排序算法是一种基本并且常用的算法。由于实际工作中处理的数量巨大,所以排序算法
对算法本身的速度要求很高。
而一般我们所谓的算法的性能主要是指算法的复杂度,一般用O方法来表示。在后面我将
给出详细的说明。

参考资料:http://cn.codeof.com/articles/programming/vc/1011.htm
介绍了主流的7种排法,有基本实现代码。

一、排序的基本概念

排序:就是将记录按关键字递增(递减)的次序排列起来,形成新的有序序列,称为排序。设n个记录的序列为{R1,R2,…,Rn},其相应关键字序列为{K1,K2,…,Kn},需确定一种排序P1,P2,…,Pn,使其相应的关键字满足递增(升序),或递减(降序)的关系:
Kp1 £ Kp2 £ ...£ Kpn

Kp1 ³ Kp2 ³ … ³ Kpn

根据排序元素所在位置的不同,排序分: 内排序和外排序。

http://blog.csdn.net/phpme/archive/2006/06/22/820447.aspx

介绍了5种排法,有设计思想。
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-03-29
很多呀..
按平均时间将排序分为四类:
(1)平方阶(O(n2))排序
一般称为简单排序,例如直接插入、直接选择和冒泡排序;
(2)线性对数阶(O(nlgn))排序
如快速、堆和归并排序;
(3)O(n1+£)阶排序
£是介于0和1之间的常数,即0<£<1,如希尔排序;
(4)线性阶(O(n))排序
如桶、箱和基数排序。
各种排序方法比较
简单排序中直接插入最好,快速排序最快,当文件为正序时,直接插入和冒泡均最佳。
影响排序效果的因素
因为不同的排序方法适应不同的应用环境和要求,所以选择合适的排序方法应综合考虑下列因素:
①待排序的记录数目n;
②记录的大小(规模);
③关键字的结构及其初始状态;
④对稳定性的要求;
⑤语言工具的条件;
⑥存储结构;
⑦时间和辅助空间复杂度等。
第2个回答  2007-03-29
和数据结构一样,选择,插入,堆,希尔,交换,还有就是外部排序了.......
相似回答