标签:ant max 迭代器 spl include color play 测评 ann
#include <iostream> #include <vector>
#inclde <algorithm> using namespace std; int main() { int n, t; vector<int> que; cin >> n >> t; for (int i = 0; i < n; i++) { que.push_back(i+1); } for (int i = 0; i < t; i++) { int no, mov; cin >> no >> mov; vector<int>::iterator it; it = find(que.begin(), que.end(), no); it = que.erase(it); que.insert(it + mov, no); } for (int i = 0; i < que.size(); i++) { cout << que[i] << " "; } cout << endl; }
网上找到的代码段都没有对erase
之后的迭代器进行处理,直接que.erase(it)
,这在CCF测评系统和旧版的DevCpp上是可以通过的,但是在VS2019中会在运行完这句代码后报错。
在网上查找后,认为问题是在erase
之后,迭代器会失效,导致之后的insert
失效:cannot seek vector iterator after end。
[CCF 201703-2 学生排队] VS2019使用erase时的问题
标签:ant max 迭代器 spl include color play 测评 ann
原文地址:https://www.cnblogs.com/coegle18/p/12040627.html