c++ - 划分集合 (C++)

标签 c++ stl set

我有一个 std::set<int>其中有 n其中的项目。我想摆脱 n-k更大的元素并保持第一个(最少)k元素。我应该怎么做?是否有为此预定义的函数?

最佳答案

std::set 是有序的。

std::set<int>::const_iterator i = myset.begin();
std::advance(i, k);
myset.erase(i, myset.end());

关于c++ - 划分集合 (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4104325/

相关文章:

python - 可以让 Python 生成类似于 bash 的 set -x 的跟踪吗?

java - 以下关于边界匹配器正则表达式的代码片段存在问题 (\b)

c++ - 模板类和 Friend 模板函数

c++ - 寻找一个函数(或宏)来返回一个 boost::scoped_lock

c++ - 使用istringstream处理一个变长的内存块

c++ - 相同的字符串到多个流

c++ - C++标准库的头文件在哪里

python - 删除集合中包含特定字符的所有元素

C++ 继承自在另一个类中用作类型的类

java - 如何使用opencv计算人脸识别的百分比格式预测置信度?