编程实现将任意一个整数x插入到一个有序的数组a中,假设数组a升序排列
main( )
{
int i,j,number;
int a[11]={1,4,6,9,13,16,19,28,40,100};
/*数组初始化时预留一位置*/
printf("array a:\n");
for(i=昌枝0;i<10;i++) /* 输出数隐迅则组原有元素 */
printf("%d ",a[i]);
printf("\n");
printf("Insert data:");
scanf("%d",&number); /* 读入要插入的数据 */
i=0; /* 以下三行找到插入位置i */
while (a[i]<number&&i<10)
i++;
for(j=9;j>=i;j--) /* 将插入点以后的元素顺序后移一位 */
a[j+1]=a[j];
a[i]=number; /* 插入数据 */
printf("Now,array a:\n");
for(i=0;i<11;i++) /* 输出插入后仍有序的数组 */灶棚
printf("%d ",a[i]);
}
运行情况如下:
array a:
1 4 6 9 13 16 19 28 40 100
Insert data:5↙
Now,array a:
1 4 5 6 9 13 16 19 28 40 100