《算法跬步》插入排序

来源:互联网 发布:linux 挂载windows硬盘 编辑:程序博客网 时间:2024/05/19 12:13

一、原理:将无序序列中的各个元素以次插入到有序的线性表中

二、实现方法:

        假设前面已经m-1个有序元素,现在将第m个元素s[m]插入到前面有序的序列中,则用s[m]与第m-1及m-1之前的元素以次比较,当s[m-1]大于s[m]时,s[m-1]后移,当出现第k个元素(0<k<=m-1)不大于这个s[m]元素时,将s[m]插入空出的位置。

三、代码如下:

void InsertSort(int s[],int length){if (NULL == s || 0 == length || 1 == length){return;}int j;int temp;for (int i=1; i<length; i++){j = i;temp = s[j];while((s[j-1]>temp) && (j>0)){s[j] = s[j-1];j--;}s[j] = temp;}}


原创粉丝点击