插入排序
文章平均质量分 51
fighting123678
这个作者很懒,什么都没留下…
展开
-
直接插入排序
一、思路:假设第一个数据已经排好序,然后放到假设已经排好序的第一个 然后从第二个元素开始,一直到最后一个元素i,重复执行第三步 将第i个待排序的元素设为哨兵,依次与从第i-1个元素开始,依次逆序进行比较大小。如果要求从大到小排序,则哨兵大于前面的元素则前移;如果要求从小到大排序,则哨兵小于前面的元素则前移二、图示(从小到大排序)三、代码(1)按照从小到大排序//按照从小...原创 2018-12-24 00:00:10 · 207 阅读 · 0 评论 -
折半插入排序
折半插入排序算法是对直接插入排序算法的简单改进,主要将折半比较的思想引入插入排序,在一定程度上提高了直接插入排序的效率。一、思路(1)每次插入,都从前面的有序子表中查找出待插入元素应该被插入的位置;(2)给插入位置腾出空间,将待插入元素复制到表中的插入位置。二、代码从小到大int BinaryInsertSort(){ int i,j,low,high,mid; fo...原创 2018-12-24 00:00:03 · 170 阅读 · 0 评论 -
希尔排序
一、思路设待排序元素序列有n个元素,首先取一个整数increment(小于n)作为间隔将全部元素分为increment个子序列,所有距离为increment的元素放在同一个子序列中,在每一个子序列中分别实行直接插入排序。 然后缩小间隔increment,重复上述子序列划分和排序工作。直到最后取increment=1,将所有元素放在同一个子序列中排序为止。二、实例(1)下面给出一个数据...原创 2018-12-23 23:59:57 · 225 阅读 · 0 评论 -
插入排序
1、插入排序的概念插入排序(Insertion Sort)是一种简单有效的比较排序算法,属于原地排序。其核心思想是:在每次迭代过程中从输入序列中取出一个元素插入到一个有序序列中,形成新的有序序列。重复该过程,直到序列中所有元素都被取出。输入序列:就是要排序的一组元素现在我把它称为N。有序序列:输入序列的一部分,该部分是有序的(升序或降序)称为M。如何插入?: 从N中的未排序部分取出...原创 2018-12-23 23:59:39 · 144 阅读 · 0 评论