```c++
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
vector<int> v = { 1,2,3,3,4,5};
//去重后下标从0开始的最后一个元素的下一个元素 就是it1
auto it1 = unique(v.begin(), v.end());
cout << *it1;
v.erase(it1, v.end());
cout << "Unique elements:";
for (int i : v) {
cout << " " << i;
}
cout << endl;
return 0;
}
```
```c++
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
vector<int> v = { 1,2,3,3,3,3,4,5};
//去重后下标从0开始的最后一个元素的下一个元素 就是it1
int it1 = unique(v.begin(), v.end()) - v.begin();
//相当于这个就是一个迭代器的指向不重复元素数组的最后一位的后一位也就是那个的下标 但是单个不能用 得再减去一个东西
//或者是利用auto和* 就是去重后下标从0开始的最后一个元素的下一个元素的值 就是it1
cout << it1 << endl;
cout << v[it1] << endl;//这个地方也相当于是指向去重后的那个的元素
// v.erase(it1, v.end());
cout << "Unique elements:";
for (int i : v) {
cout << " " << i;
}
cout << endl;
return 0;
}
==栈和队列不可以遍历 对于queue stack==