题目链接
题目思路
对stl的简单掌握
vector
//初始化 vector<int> vec; //插入值 vec.insert(vec.begin(),in) 在最前面插入新元素in // vec.insert(vec.end(),in) 在末尾追加新元素in // vec.insert(vec.begin(),num,in) 在最前面插入num个in //删除值 vec.erase(vec.begin()); vec.erase(vec.end()); //翻转vec内元素 reverse(vec.begin(),vec.end()); //遍历(c++11新增) for(auto it:vec) cout<<it<<' '; //查找前后端 cout<<vec.front()<<' '<<vec.back(); //判断是否空 if(!vec.empty()) //vec的长度 vec.size() //清空vec中所有元素 vec.clear()
通过代码
#include using namespace std; int main() { int f=0; vector vec; int n,m; cin>>n>>m; int in,pan; for(int i=0;i<m;i++) { cin>>pan; if(pan==1) { cin>>in; vec.insert(vec.begin(),in); } else if(pan==2) vec.erase(vec.begin()); else if(pan==3) { cin>>in; vec.insert(vec.end(),in); } else if(pan==4) vec.erase(vec.end()-1); else if(pan==5) reverse(vec.begin(),vec.end()); else if(pan==6) { cout<<vec.size()<<endl; for(auto it:vec) cout<<it<<' '; //for(int i=0;i<vec.size();i++) // cout<<vec[i]<<' '; cout<<endl; } if(pan==7) { sort(vec.begin(),vec.end(),less()); } } return 0; }