题目链接
题目思路
对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;
}
京公网安备 11010502036488号