【发布时间】:2018-12-03 13:36:55
【问题描述】:
我有一个这样的结构向量:
struct Item {
int id;
string name;
}
vector<Item> v= ....;
现在我需要查看向量中有多少个唯一“id”,并创建另一个包含这些唯一 ID(当然每个 id 1 个)的向量。
对于 countig 唯一 ID,我使用此代码...但是如何生成唯一 ID 向量?
std::sort(v.begin(), v.end());
int uniqueCount = std::unique(v.begin(), v.end()) - v.begin();
当然,我可以去老学校做一个循环并手动将 id 放入向量中,同时检查 id 是否已经在向量中......但如果可能的话,我正在寻找一种干净的 STL 方法!
【问题讨论】:
-
嗯,也许你应该阅读更多关于
std::unique真正做什么的信息。
标签: c++ stdvector stl-algorithm