STL容器
用了vector代替数组存储数据,利用vector的erase和insert来模拟同学的出队和进队
简单介绍
vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。
使用vector 需加头文件<vector>
用如vector<string>v1;vector<char>v2等进行定义,本题使用vector<int>v;
本题用的2个vector函数
v.erase(pos)删除目标位置的数据;
v.insert(pos,n)在目标位置插入数据n;
有了vector,解题变得容易
代码如下
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int>v;
int n,m,a,b,c;
cin>>n;
cin>>m;
for(int i=1;i<=n;i++)
{
v.push_back(i);
}
for(int i=0;i<m;i++)
{
cin>>a>>b;
for(int i=0;i<n;i++)
{
if(v[i]==a)
{
c=i;
break;
}
}
v.erase(v.begin()+c);
c=c+b;
v.insert(v.begin()+c,a);
}
for(int i=0;i<n;i++)
{
cout<<v[i]<<' ';
}
}