erase删除区间
erase(v.begin()+l,v.begin()+r)
使用了这样的删除语句后,原vector的$[l,r)$之间的元素会被删去
输入
10
1 2 3 4 5 6 7 8 9 10
删去区间在[2,5)的元素
erase(v.begin()+2,v.begin()+5)
输出
1 2 3 4 5 6 7 8 9 10
1 2 6 7 8 9 10
C++
#include<bits/stdc++.h>
using namespace std;
int n,a[20];
int main()
{
vector<int> v;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
v.push_back(a[i]);
}
for(auto x:v) cout<<x<<" ";
v.erase(v.begin()+2,v.begin()+5); //删除在[2,5)间的元素(第2,3,4号元素)
puts("");
for(auto x:v) cout<<x<<" ";
return 0;
}