一个非递减有序的整型数组有n个元素,给定一个整数num,将num插入该序列的适当位置,使序列仍保持非递减有序。
要求定义一个函数insert(),将整数num插入在数组a的适当位置上,函数原型如下:
int insert(int a[], int n, int num);
另外函数仍然调用以前定义过的函数PrintArr()输出数组所有元素。
输入有三行。第一行是一个正整数n,n<1000。第二行是n个整数,第三行是待插入整数num。
输出非递减有序的n+1个整数,数据之间用空格隔开。输出占一行。
#include<stdio.h>
int main()
{
int a[1000],q[1000],b,c,d,i,l,t;
scanf("%d",&b);
for(i=0;i<b;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&c);
a[b]=c;
for(i=0;i<=b;i++)
q[i]=a[i];
for(l=0;l<b+1;l++)
for(i=0;i<b-l;i++)
if(q[i]>q[i+1])
{
t=q[i];q[i]=q[i+1];q[i+1]=t;
}
for(i=0;i<=b;i++){
if(i==b)
printf("%d",q[i]);
else printf("%d ",q[i]);
}
}