我希望这不是一个重复的问题,但如果是,请随时为我指出正确的方向。
我有一个vector<vector<int> >
.
是否可以使用unique()
关于这个?就像是:
vector<vector<int> > myvec;
//blah blah do something to myvec
vector<vector<int> >::interator it = unique(myvec.begin(), myvec.end());
请问范围myvec.begin()
to it
是独一无二的吗?
是的,只要你的向量是排序的。看独特的 () STL文档了解详细信息。
这是一个用法示例:
#include <vector>
#include <string>
#include <algorithm>
#include <string>
#include <iostream>
using namespace std;
int main ()
{
vector< vector<string> > v;
v.push_back (vector<string> ());
v.back ().push_back ("A");
v.push_back (vector<string> ());
v.back ().push_back ("A");
v.push_back (vector<string> ());
v.back ().push_back ("B");
for (vector< vector<string> >::iterator it = v.begin (); it != v.end (); ++it)
for (vector<string>::iterator j = it->begin (), j_end = it->end (); j != j_end; ++j)
cout << *j << endl;
cout << "-------" << endl;
vector< vector<string> >::iterator new_end = unique (v.begin (), v.end ());
for (vector< vector<string> >::iterator it = v.begin (); it != new_end; ++it)
for (vector<string>::iterator j = it->begin (), j_end = it->end (); j != j_end; ++j)
cout << *j << endl;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)