使用函数insert能够减少很多工作。
==insert 的使用方法,v.insert(it,val);第一个it为迭代器,第二个为插入的元素。
注意插入的位置,为迭代器的前一个位置。
#include <iostream>
#include <vector>
using namespace std;
void insert1(vector<int> &v,int x);
void pri(vector<int> v,int n);
int main()
{
vector<int> v;
int n,num;
cin >> n;
for(int i = 0; i < n; ++i)
{
cin >> num;
v.push_back(num);
}
int x;
cin >> x;
insert1(v,x);
pri(v,n+1);
return 0;
}
void insert1(vector<int>&v,int x)
{
auto beg = v.begin();
if(x <= *beg)
v.insert(beg,x);
else if(x >= *(v.end()-1))
v.insert(v.end(),x);
else
{
for(; beg != v.end(); beg++)
{
if(x >= *beg && x <= *(beg+1))
{
v.insert(beg+1,x);
break;
}
}
}
}
void pri(vector<int> v,int n)
{
for(auto beg = v.begin(); beg != v.end(); beg++)
cout << *beg << " ";
}