利用vector 由于它可以实现 指针加减很适合呢 哈哈哈
#include<bits/stdc++.h>
using namespace std;
vector<int>vi;
int main(){
int n, m, i = 1;
cin>>n>>m;
while(n--){
vi.push_back(i++);//对学生编号
}
while(m--){
int p, q;
cin >>p >>q;
vector<int>::iterator it = find(vi.begin(), vi.end(), p);//找到要移动学生学号的迭代器
vi.erase(it); //删除
vi.insert(it + q, p);//再放到新位置
}
for(vector<int>::iterator it = vi.begin(); it != vi.end(); it++)
cout << *it<<" ";
return 0;
}
本文介绍了一种利用C++ STL中的vector容器来实现学生编号的动态管理和移动的方法。通过迭代器操作,实现了删除和重新插入指定编号的学生,展示了vector在处理动态数据结构时的灵活性和高效性。
2514

被折叠的 条评论
为什么被折叠?



