MRE(因为许可证问题):
std::set<std::string> pool;
// values: 10 10 1 3 4 3 3 2 5 7 5 4 3 9 8 8 7
// (values is an iterable collection)
for (const auto& value : values) {
pool.insert(value);
}
// expected read: 10 1 3 4 2 5 7 9 8
// actual read: 1 10 2 3 4 5 7 8 9 (10 after 1 because std::string)
我用什么样的集合来实现这个目标?
2条答案
按热度按时间tmb3ates1#
使用2个容器。读入集合,使用insert的返回值来判断这个项是否是新的。然后只向vector中添加新项。该向量将是插入顺序中的唯一项。
tyg4sfes2#
“pool.insert”返回一个pair,pair.second是插入元素的bool类型