还是编译器的实验,用到了vector,但是想对vector中的内容去重,上网一搜,解决方案为使用unique去重。简短示例代码如下:
vector<int> v;
v.push_back(1);
v.push_back(1);
v.push_back(1);
v.push_back(2);
v.push_back(2);
v.push_back(2);
v.push_back(1);
v.push_back(1);
v.push_back(1);
v.push_back(2);
vector<int>::iterator it = unique(v.begin(),v.end());
if(it != v.end())
v.erase(it,v.end());
for(int i=0; i<v.size(); i++)
{
cout<<v[i]<<endl;
}
运行结果为1,2,1,2,可以看出并没有真正的去除vector中重复的元素。
解决方案:想本来就不重复,使用数据结构set即可!