STL
丸子叮咚响
日拱一卒,功不唐捐。
展开
-
C++ STL 算法汇总
非更易型算法更易型算法移除区间元素算法变序型算法排序算法已排序区间算法数值算法原创 2022-02-10 16:28:35 · 303 阅读 · 0 评论 -
C++ 标准库 已排序区间算法
目录一 概述二 辅助函数三 std::binary_search四 std::includes五 std::lower_bound六 std::upper_bound七 std::equal_range八 std::merge九 std::set_union十 std::set_intersection十一 std::set_difference十二 std::set_symmetric_difference十三 std::inplace_merge十四 std::partition_point十五 git原创 2020-08-18 09:27:41 · 318 阅读 · 0 评论 -
C++ 标准库 数值算法
目录一 概述二 辅助函数三 std::accumulate四 std::inner_product五 std::adjacent_difference六 std::partial_sum七 github八 参考一 概述C++ 标准库中提供了很多算法,定义于头文件 < algorithm >,少量定义于< numeric >。本文主要探究以下用于 数值区间 的算法,它们定义于< numeric >:std::accumulate 对一个范围内的元素求和std::原创 2020-08-18 20:35:07 · 1512 阅读 · 0 评论 -
C++ 标准库 排序算法
目录一 概述二 辅助函数三 std::sort四 std::stable_sort五 std::partial_sort六 std::patial_sort_copy七 std::nth_element八 std::make_heap九 std::push_heap十 std::pop_heap十一 std::sort_heap十二 github十三 参考一 概述C++ 标准库中提供了很多算法,定义于头文件 < algorithm >。本文主要探究以下用于 区间元素排序 的算法:std原创 2020-07-17 08:12:41 · 1448 阅读 · 0 评论 -
C++ 标准库 变序型算法
目录一 概述二 辅助函数三 std::reverse四 std::reverse_copy五 std::rotate六 std::rotate_copy七 std::next_permutation八 std::prev_permutation九 std::shuffle(C++11)十 std::random_shuffle十一 std::partition十二 std::stable_partition十三 std::partition_copy十四 github十五 参考一 概述C++ 标准库中原创 2020-06-30 14:16:33 · 209 阅读 · 0 评论 -
C++ 算法 移除区间元素
目录一 概述二 辅助函数三 std::remove四 std::remove_if五 std::remove_copy六 std::remove_copy_if七 std::unique八 std::unique_copy九 参考一 概述C++ 标准库中提供了很多算法,定义于头文件 < algorithm >。本文主要探究以下用于 移除区间元素 的算法:std::remove 移除满足特定判别标准的元素std::remove_if 移除满足特定判别标准的元素std::remove_原创 2020-06-28 20:36:46 · 470 阅读 · 0 评论 -
C++ 标准库 更易型算法
目录一 非更易型算法二 github三 参考一 非更易型算法C++ 算法 复制元素std::copy 将某一范围的元素复制到一个新的位置std::copy_if(C++11) 将某一范围的满足条件的元素复制到一个新的位置std::copy_n(C++11) 将一定数目的元素复制到一个新的位置std::copy_backyard 按从后往前的顺序复制一个范围内的元素C++11 算法 搬移元素std::move(C++11) 将某一范围的元素搬移到一个新的区间std::move_ba原创 2020-06-19 19:47:51 · 344 阅读 · 0 评论 -
C++ 标准库 非更易型算法
目录一 非更易型算法二 github三 参考一 非更易型算法C++ 算法 元素计数std::count 元素计数std::count_if 元素计数C++ 算法 元素最大值和最小值std::min_element 返回[first, last) 中指向第一个最小值的迭代器std::max_element 返回[first, last) 中指向第一个最大值的迭代器std::minmax_element(C++11) 返回 std::pair<第一个最小值的迭代器, 最后一个最原创 2020-06-01 20:45:26 · 205 阅读 · 0 评论 -
std::vector 去重
一 方案std::vector 去重分为3步:使用std::sort排序; 使用std::unique移除相邻重复元素; 使用vector::erase擦除vector新逻辑结尾至vector结尾的元素。二 例子#include <iostream>#include <vector>#include <algorithm>#includ...原创 2019-12-04 08:59:31 · 2003 阅读 · 0 评论 -
STL emplace_back
一 介绍C++11开始,STL的一些容器中增加了emplace和emplace_back成员函数,例如 std::list 和 std::vector。以 std::vector::emplace_back举例:template< class... Args >void emplace_back( Args&&... args ); (C++11 起)...原创 2019-07-15 09:13:54 · 2331 阅读 · 0 评论