![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
烂笔头2333
这个作者很懒,什么都没留下…
展开
-
交换排序--快速排序
快速排序是对起泡排序的一种改进:在起泡排序中,记录的比较和移动是在相邻位置进行的,记录每次交换只能后移一个位置,因而总的比较次数和移动次数较多。在快速排序中,记录的比较和移动是从两段向中间进行的,关键码较大的记录一次就能从前面移动到后面,关键码较小的记录一次就能从后面移动到前面,记录移动的距离较远,从而减少了总的比较次数和移动次数。基本思想:首先选一个轴值(povit,即比较的基准),将待排序记录原创 2017-09-11 16:08:44 · 196 阅读 · 0 评论 -
选择排序--简单选择排序
基本思想:第 i 趟排序在待排序序列r[i]~rn中选取关键码最小的记录,并和第 i 个记录交换作为有序序列的第 i 个记录。 //简单选择排序算法 void SelectSort(int r[], int n) //用0号单元作为交换操作的暂存单元 { for (int i = 0; i < n; i++) //对n个记录进行n-1趟简单选择排原创 2017-09-11 16:08:39 · 232 阅读 · 0 评论 -
插入排序--直接插入排序
基本思想:依次将待排序序列中的每一个记录插入到一个已排好序的序列中,知道全部记录都排好序。具体过程: (1)将整个待排序的记录序列划分为有序区和无序区,初始时有序区为待排序记录序列中的第一个记录,无序区包括所有剩余待排序的记录; (2)将无序区的第一个记录插入到有序区的合适位置中,从而使无序区减少一个记录,有序区增加一个记录; (3)重复执行(2),直到无序区中没有记录为止。原创 2017-09-11 16:08:36 · 231 阅读 · 0 评论