Description
有一个元素个数为n的已经排序的数组,另外给定一个数,要求按排序后的规律将它插入数组中。
Input
第一行,原始数列数据个数。
第二行,原始数列。
第三行,需要插入的数字(<=2^31)。
Output
排序后的数列,中间用一个空格分隔,参见样例。最后有回车。
Sample Input
9
1 7 8 17 23 24 59 62 101
50
Sample Output
1 7 8 17 23 24 50 59 62 101
//有序数组插入元素
#include <stdio.h>
int main()
{
int a[1005];
int n,num;
scanf("%d\n",&n);
for(int i=0; i<n; i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&num);
if(num>a[n-1])
{
a[n]=num;
}
else
{
for(int i=0; i<n; i++)
{
if(a[i]>num)
{
int j;
for(j=n; j>i; j--)
{
a[j]=a[j-1];
}
a[j]=num;
break;
}
}
}
for(int i=0; i<n; i++)
{
printf("%d ",a[i]);
}
printf("%d\n",a[n]);
}