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: falseAlgorithm-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);