一个有序的数列中插入若干个数,这个数列依然是有序的。
代码如下:
#include<stdio.h>
int main()
{
int a[150]={12,21,32,45,51,69,78,84,90,96};
int b[100];
int n,i,j,k;
printf("输入要插入数的个数:");
scanf("%d",&n);
printf("依次输入要插入的数:");
for(i=0;i<n;i++)
{
scanf("%d",&b[i]);
for(j=9+i;j>=0;j--) //原数组从最后一个数开始与b[i]相比较
{
if(b[i]<a[j]) // 如果b[i]小于最后一个数,那么最后一个数的位置向后面挪一位
{
a[j+1]=a[j];
if(j==0) //当b[i]小于a中所有数时,另第一项等于b[i]
{
a[j]=b[i];
}
}
else // 如果b[i]大于最后一个数,那么b[i]就会插入到最后一个数后面
{
a[j+1]=b[i];
break;
}
}
}
for(k=0;k<10+n;k++)
{
printf ("%d ",a[k]);
}
}
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务