- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序设计中的排序及优化
2007 2 九 江 职 业 技 术 学 院 学 报
(杜恒 : 程序设计中的排序及优化) 21
程序设计中的排序及优化
杜恒 , 李怀刚 , 陈平
(河南工业职业技术学院 , 河南南阳 473009)
摘 要 : 排序是程序设计中很重要的一种操作 , 很多软件中都有排序的功能。而排序又是影响程序运
行效率的重要因素 , 排序模块设计的好坏 , 直接影响到整个程序的性能。本文对常用的三种
排序方法的实现以及如何优化进行深入的探讨。
关键词 : 程序设计 ; 排序 ; 运行效率
中图分类号: TP31111 文献标识码 : B 文章编号 : 1009 - 9522 (2007) 02 - 0021 - 03
( )
0 排序方法简介 for j = 0 ;j n - 1 - i ;j + +
所谓排序就是将杂乱无章的数据元素通过一定的方法按 {
某种关键字进行从大到小或者从小到大进行排列的过程 。 if (a[j ] a[ j + 1 ] ) / 如果前面的数比后面的小 ,进
排序是程序设计中一种常用而又非常重要的操作 , 在多数 行交换 ,将大数调在前面 /
软件中都有体现 , 也是程序员在进行程序设计时常常要考虑的 {
算法 , 但是多数程序员在实现排序的时候 , 往往只进行排序 , t = a[j ] ;
而忽略了优化 , 致使设计出的程序运行速度非常慢 , 效率非常 a[j ] = a[j + 1 ] ;
低。尽管说影响程序运行效率是多方面的 , 但是优化排序是提 a[j + 1 ] = t ;
高程序运行效率的主要手段之一 , 所以必须要重视。 }
排序的方法非常多 , 分为几个大类 , 如交换类、选择 }
类、插入类以及链式基数排序等。相应的又有几十种 , 如冒 }
泡排序、快速排序、选择排序、堆排序、插入排序、希尔排 此算法 , 是最基本的算法 , 按照排序的过程进行编写
序等 , 在此我们主要讨论常用的三种排序 , 即冒泡 , 选择及 的。从算法上来看 , 相邻两个数进行比较 , 如果前面的数比
简单插入排序 , 并对这些排序算法进行优化。 后面的数要小 , 就要进行比较和交换 ; 否则的话 , 仅进行一
1 冒泡排序及优化 次比较而不进行交换。而我们知道不管是进行比较的关系运
11 冒泡排序的基本原理 算还是赋值运算 , 都要占用系统的执行时间 , 影响程序的执
冒泡排序 , 又叫做起泡排序 , 其排序的规则是相邻的两 行效率。如果在某一轮排序后 , 或者原序列已经有序 , 程序
个数进行两两比较 , 符合交换条件的进行互换 , 直到该轮的 中所有的比较运算已不必进行了 ,
文档评论(0)