STL 算法
STL 提供了大约 100 个实现算法的模版函数,基本都包含在 <algorithm>
之中,还有一部分包含在 <numeric>
和 <functional>
。
常用函数:
sort
:排序。sort(v.begin(), v.end(), cmp)
或sort(a + begin, a + end, cmp)
,其中end
是排序的数组最后一个元素的后一位,cmp
为自定义的比较函数。reverse
:翻转数组、字符串。reverse(v.begin(), v.end())
或reverse(a + begin, a + end)
。nth_element
:按指定范围进行分类,即找出序列中第 n 大的元素,使其左边均为小于它的数,右边均为大于它的数。nth_element(v.begin(), v.begin() + mid, v.end(), cmp)
或nth_element(a + begin, a + begin + mid, a + end, cmp)
。复杂度 O(n) 。random_shuffle
:随机地打乱数组。random_shuffle(v.begin(), v.end())
或random_shuffle(v + begin, v + end)
。
build本页面最近更新:,更新历史
edit发现错误?想一起完善? 在 GitHub 上编辑此页!
people本页面贡献者:OI-wiki
copyright本页面的全部内容在 CC BY-SA 4.0 和 SATA 协议之条款下提供,附加条款亦可能应用