![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
找寻第二人生
这个作者很懒,什么都没留下…
展开
-
10种排序算法总结
排序算法有很多,所以在特定情景中使用哪一种算法很重要。为了选择合适的算法,可以按照建议的顺序考虑以下标准: (1)执行时间 (2)存储空间 (3)编程工作 对于数据量较小的情形,(1)(2)差别不大,主要考虑(3);而对于数据量大的,(1)为首要。 主要排序法有: 一、冒泡(Bubble)排序——相邻交换 二、选择排序——每次最小/大排在相应的位置 三转载 2014-02-05 18:01:28 · 515 阅读 · 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 · 1509 阅读 · 0 评论 -
排序算法
插入排序 1.直接插入排序 原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,最终将所有无序区元素都移动到有序区完成排序。 要点:设立哨兵,作为临时存储和判断数组边界之用。 实现: Void InsertSort(Node L[],int length) { Int i,j;//分别为有序区和无序区指针转载 2014-02-05 17:48:21 · 459 阅读 · 0 评论 -
交换排序--冒泡排序和快速排序
这是最原始,也是众所周知的最慢的算法了。 基本思想: 按待排序序列的先后顺序,依次比较相邻的两个数,将小数放在前面,大数放在后面(若二者是升序,则不作任何操作,否则交换两个数即可)。即在第一趟:首先比较第1个数和第2个数,将小数放前面,大数放后面。然后比较第2个数和第3个数,将小数放前面,大数放后面,如此继续,直至比较最后两个数,将小数放前面,大数放后面。至此第一趟排转载 2014-02-05 17:15:38 · 697 阅读 · 0 评论