首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

插入排序的递归算法

发布网友 发布时间:2022-04-25 12:50

我来回答

1个回答

热心网友 时间:2022-04-27 00:18

插入排序算法: C版本的分析如下:
//直接插入排序:从小到大排;

//算法说明: 比如说现在排序进行到第 i位了,那么1 到 i-1位都已经为有序序列了;然后将 r[0]和r[j]依次比较,若是r[j]>r[0],那么就依次用前边数据覆盖后边数据,不必担心r[i]会丢掉,因为它被保存在了r[0]中,直到找到满足r[i]<r[j]的位置,将r[0]数据写入r[j]处,一次循环结束,进入下次循环;

void insSort( int r[],int length) //传数组,和数组大小;
{
// 数组下标从1 开始, 0号位为监视哨;
int i=0,j=0;
for(i=2;i<=length;++i)
{
r[0]=r[i]; //总是用r[0]记录当前数据;
j=i-1;
while(r[0]<r[j]) //寻找合适的位置;
{
r[j+1]=r[j]; //依次迭代覆盖;
j=j-1;
}
r[j+1]=r[0]; //晕,终于找到满足条件的地方了,赶紧钻入;
}
}

大功告成! 希望能帮上你。。。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com