分析
此处主要练习vector的操作和边界的判断。注意下标从0开始
上代码
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
vector<int> a;
int n,k;
int main()
{
cin>>n>>k;
for(int i=0;i<n;i++)
{
int x;
cin>>x;
a.push_back(x);
}
for(int i=1;i<=k;i++)
{
char c;
cin>>c;
if(c=='D')
{
int x;
cin>>x;
if(x<a.size()) a.erase(a.begin()+x);
/*这里不能写等号因为下标从0开始而这个size是到n的*/
}
else
{
int x,y;
cin>>x>>y;
if(x>=a.size()) a.push_back(y);
else a.insert(a.begin()+x,y);
}
}
cout<<a.size()<<endl;
vector<int>::iterator it;
for(it=a.begin();it!=a.end();it++)
{
cout<<*it<<' ';
}
return 0;
}