数组中插入一个数
题目描述
给定有序数组(从小到大),再给你一个数,要求插入该数到数组中并保持顺序
输入
多组测试,每组第一行输入一个整数n,然后是n个有序的整数 第二行输入1个整数m和1个整数K
输出
将整数m插入到原数组中保持顺序是升序,然后输出2行 第一行是插入以后的数组 第二行是插入以后的数组中下标值是K的数 n m k不超过20
样例输入
3 1 2 5 3 1
样例输出
1 2 3 5 2
题解:
用动态数组(vector)方便一些,注意是多组测试数据,数组别忘了清空!!
源代码:
#include<bits/stdc++.h>
using namespace std;
vector<int> v;
int n;
int main()
{
while(cin>>n)
{
for(int i=0;i<n;i++)
{
int x;
cin>>x;
v.push_back(x);
}
int m,k;
cin>>m>>k;
v.push_back(m);
sort(v.begin(),v.end());
for(int i=0;i<n+1;i++)cout<<v[i]<<" ";
cout<<endl;
for(int i=0;i<n+1;i++)
if(i==k)
{
cout<<v[i]<<endl;
break;
}
v.clear();//清空
}
}