/插入法/
/插入法的的意思就和我们抓牌一样,把记录分为有序和无序两区。把无序区中的
每个数"挨个"拿来和有序区的数比较。比有序区小的位置保持不变,大的话先挪动
位置空出来,再插入/
/插入法也是稳定的:插入的过程中相同的记录位置不变。/
#include <stdio.h>
int main()
{
int a[10]={9,2,2,5,6,7,4,5,1,0},i,j,k,m;
for(i=1;i<=9;i++)
{
m=a[i]; /a[i]先拿出来/
for(j=i-1;j>=0 && m<a[j];j–) /在挪位置后要保存j的值即插入位置:j-- 。
所以循环终止条件有m<a[j]/
a[j+1]=a[j];
a[j+1]=m; /大的重新原位置插入,小的在挪动后的位置插入/
}
for(k=0;k<=9;k++)
printf("%d\n", a[k]);
system(“pause”);
}
源程序 插入法 排序
最新推荐文章于 2022-07-25 03:15:35 发布