排序算法
找寻第二人生
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
10种排序算法总结
排序算法有很多,所以在特定情景中使用哪一种算法很重要。为了选择合适的算法,可以按照建议的顺序考虑以下标准: (1)执行时间 (2)存储空间 (3)编程工作 对于数据量较小的情形,(1)(2)差别不大,主要考虑(3);而对于数据量大的,(1)为首要。 主要排序法有: 一、冒泡(Bubble)排序——相邻交换 二、选择排序——每次最小/大排在相应的位置 三转载 2014-02-05 18:01:28 · 586 阅读 · 0 评论 -
选择排序基本思想及实现
基本思想: 每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。排序过程:【示例】: 初始关键字 [49 38 65 97 76 13 27 49]第一趟排序后 13 [38 65 97 76 49 27 49]第二趟排序后 13 27 [65 97 76 49 38 49]第三趟排序后 13 27 3转载 2014-02-05 20:48:36 · 1605 阅读 · 0 评论 -
排序算法
插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,最终将所有无序区元素都移动到有序区完成排序。要点:设立哨兵,作为临时存储和判断数组边界之用。实现:Void InsertSort(Node L[],int length){Int i,j;//分别为有序区和无序区指针转载 2014-02-05 17:48:21 · 510 阅读 · 0 评论 -
交换排序--冒泡排序和快速排序
这是最原始,也是众所周知的最慢的算法了。基本思想: 按待排序序列的先后顺序,依次比较相邻的两个数,将小数放在前面,大数放在后面(若二者是升序,则不作任何操作,否则交换两个数即可)。即在第一趟:首先比较第1个数和第2个数,将小数放前面,大数放后面。然后比较第2个数和第3个数,将小数放前面,大数放后面,如此继续,直至比较最后两个数,将小数放前面,大数放后面。至此第一趟排转载 2014-02-05 17:15:38 · 895 阅读 · 0 评论
分享