王晖黑龙江司法警官职业学院黑龙江哈尔滨150080
摘要:排序是编程过程中经常遇到的操作,它在很大程度上影响了程序的执行效率。目前关于排序的算法有很多,其中不乏非常精妙的算法。但是总体来说,作为一个计算机专业的学习者来说,必须要知道而且会亲自动手去实现文中列举的几种常见的算法。这不管对自己编程能力的提高还是日后的实习就业都会有莫大的帮助。
关键词:选择排序算法比较归并排序冒泡排序法
三种常见的排序算法大致可以分为两类:
第一类是低级排序算法,有选择排序、冒泡排序。
第二类是高级排序算法,有归并排序。
下面就分别介绍一下这几种排序算法,并会给出C++的实现,实现代码均经过测试。
一、低级排序算法
1.选择排序
(1)排序过程
给定一个数值集合,循环遍历集合,每次遍历从集合中选择出最小或最大的放入集合的开头或结尾的位置,下次循环从剩余的元素集合中遍历找出最小的并如上操作,最后直至所有原集合元素都遍历完毕,排序结束。
(2)实现代码
//选择排序法
(3)分析总结
归并排序最好、最差和平均时间复杂度都是O(nlogn),是一种稳定的排序算法。
三、结语
如上介绍的几种排序算法都是基于算法最基本的思想来实现的,其实对其中一些算法都会有几种可以改进的地方,如能亲自实现,这对学生的学习和工作都会有莫大的帮助。