date: 2024-04-12
title: Algorithm-Library
status: UNFINISHED
author:
- AllenYGY
tags:
- Cpp
- Algorithm
- API
- NOTE
created: 2024-04-12T15:04
updated: 2024-04-12T15:16
publish: True
Algorithm-Library
在 C++ 算法竞赛中,标准库中的 algorithm
头文件中的函数是非常常用的。以下是一些常见的 algorithm
库函数,它们在解决各种算法竞赛问题时非常有用:
排序算法:
sort()
: 对容器进行排序。stable_sort()
: 稳定排序。partial_sort()
: 部分排序。nth_element()
: 找到容器中第 n 个元素,其他元素不一定有序。搜索算法:
find()
: 在容器中查找某个值第一次出现的位置。 无序时使用count()
: 统计某个值在容器中出现的次数。binary_search()
: 二分查找。lower_bound()
: 返回大于或等于给定值的第一个元素的位置。upper_bound()
: 返回大于给定值的第一个元素的位置。合并和删除算法:
merge()
: 合并两个已排序的容器。unique()
: 删除容器中连续重复的元素。remove()
: 删除容器中指定值的元素。其他常见算法:
min()
, max()
: 返回两个值中的最小值和最大值。accumulate()
: 对容器中的值进行累积操作。next_permutation()
: 获取容器的下一个排列。prev_permutation()
: 获取容器的上一个排列。//在 [first, last) 区域内查找不小于 val 的元素
ForwardIterator lower_bound (ForwardIterator first, ForwardIterator last,
const T& val);
//在 [first, last) 区域内查找第一个不符合 comp 规则的元素
ForwardIterator lower_bound (ForwardIterator first, ForwardIterator last,
const T& val, Compare comp);