插入排序

来源:互联网 发布:传奇世界h5源码 编辑:程序博客网 时间:2024/06/06 07:20

插入排序分为:直接插入排序,折半插入排序,链表插入排序,希尔排序。属于稳定排序的一种。


直接插入排序:

直接插入排序的核心思想是:每次从无序集合中取出第一个元素,把它插入到有序集合的合适位置,使有序集合仍然有序。

第一趟比较前两个数,然后把第二个数按大小插入到有序集合中; 第二趟把第三个数据与前两个数从后向前扫描,把第三个数按大小插入到有序集合中;依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。

/* *直接插入排序 */void InsertSort(int *array, int length){       int temp, cur, i;    for(cur=1;cur<length;cur++)    {        i = cur;        temp = array[i];        while(i>0 && array[i-1] > temp )        {               array[i] = array[i-1];            i--;        }        array[i] = temp;    }   }   
附上一个很好的排序算法演示地址:http://www.atool.org/sort.php

1 0
原创粉丝点击