如何从集合中删除最后一个成员?
例如:
set<int> setInt;
setInt.insert(1);
setInt.insert(4);
setInt.insert(3);
setInt.insert(2);
如何从
4
删除setInt
?我尝试了类似的东西: setInt.erase(setInt.rbegin());
但我收到一个错误。
最佳答案
if (!setInt.empty()) {
std::set<int>::iterator it = setInt.end();
--it;
setInt.erase(it);
}
顺便说一句,如果您要执行很多操作(以任意顺序将内容添加到集合中,然后删除顶部元素),则还可以查看
std::priority_queue
,以查看是否适合您的用法。