题目描述
有一个已经排好序的n个数组成的序列,要求输入一个数后,按原来排序的规律将它插入原序列中,使得新序列仍然有序。
输入描述:
共三行,第一行为整数n(2 ≤ n ≤ 10 ),表示原序列中整数的个数。
第二行为n个从小到大排好顺序的整数,用空格间隔,每个整数的范围为(1~100)。
第三行为要插入的整数,范围为(2~1000)。
输出描述:
一行,n+1个从小到大排列好的整数序列,用空格间隔。
示例1
输入
复制3 3 8 12 10
3 3 8 12 10
输出
复制3 8 10 12
3 8 10 12
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int a[12];
int n,k,i;
cin>>n;
for(i=0;i<n;i++)
{
cin>>a[i];
}
cin>>k;
for(i=0;i<n;i++)
{
if(k<a[i])
{
break;
}
}
for(int j=n-1;j>=i;j--)
{
a[j+1]=a[j];
}
a[i]=k;
n++;
for(i=0;i<n;i++)
{
cout<<a[i]<<" ";
}
}