C++ STL中的库有哪些?功能分别是什么?

2021年4月2日12:09:36 发表评论 949 次浏览

非修改序列操作

  1. std::all_of:范围内所有元素的测试条件
  2. std::any_of:测试范围内的任何元素是否满足条件
  3. std::none_of :测试是否没有元素满足条件
  4. std::for_each:将功能应用于范围
  5. std::find :查找范围内的值
  6. std::find_if:查找范围内的元素
  7. std::find_if_not:查找范围内的元素(负条件)
  8. std::find_end:查找范围中的最后一个子序列
  9. std::find_first_of:从范围内的集合中查找元素
  10. std::adjacent_find:在范围内找到相等的相邻元素
  11. std::计数:计算范围内的值的出现
  12. std::count_if:返回范围满足条件的元素数
  13. std::mismatch:返回两个范围不同的第一位置
  14. std::equal:测试两个范围内的元素是否相等
  15. std::is_permutation:测试范围是否是另一个的排列
  16. std::search: 子序列的搜索范围
  17. std::search_n:元素的搜索范围

修改序列操作

  1. std::copy:复制元素范围
  2. std::copy_n:复制元素
  3. std::copy_if: 复制范围的某些元素
  4. std::copy_backward: 向后复制元素范围
  5. std::move: 移动元素范围
  6. std::move_backward: 向后移动元素范围
  7. std::swap:交换两个对象的值
  8. std::swap_ranges:交换两个范围的值
  9. std::iter_swap:交换两个迭代器指向的对象的值
  10. std::transform:转换范围
  11. std::replace: 替换范围内的值
  12. std::replace_if:替换范围内的值
  13. std::replace_copy: 复印范围替换值
  14. std::replace_copy_if:复印范围替换值
  15. std::fill: 用值填充范围
  16. std::fill_n: 用值填充序列
  17. std::generate:用函数生成范围值
  18. std::generate_n:用函数生成序列值
  19. std::remove: 从范围中删除值
  20. std::remove_if:从范围中删除元素
  21. remove_copy:复印范围去除值
  22. remove_copy_if:复制范围删除值
  23. std::unique: 删除范围内的连续重复项
  24. std::unique_copy:复制范围删除重复项
  25. std::reverse:反向范围
  26. std::reverse_copy:复印范围反转
  27. std::rotate:向左旋转范围内的元素
  28. std::rotate_copy:复印范围向左旋转
  29. std::random_shuffle:随机重新排列范围中的元素
  30. std::shuffle:使用生成器随机重新排列范围内的元素

分区操作

  1. std::is_partitioned:测试范围是否已分区
  2. std::partition:分区范围一分为二
  3. std::stable_partition: 分区范围为两个-稳定的顺序
  4. partition_copy:分区范围一分为二
  5. partition_point:获取分区点

排序

  1. std::sort:对范围内的元素进行排序
  2. std::stable_sort:排序元素, 保留等价顺序
  3. std::partial_sort: 部分排序范围内的元素
  4. std::partial_sort_copy: 复制并部分排序范围
  5. std::is_sorted: 检查范围是否已排序
  6. std::is_sorted_until:查找范围内的第一个未排序元素
  7. std::nth_element: 范围内的元素排序

二进制搜索(对分区范围/排序范围进行操作)

  1. std::lower_bound:返回迭代器到下限
  2. std::upper_bound:将迭代器返回上限
  3. std::equal_range:获取相等元素的子范围
  4. std::binary_search: 测试值是否按排序顺序存在

合并(在排序范围内操作)

  1. std::merge:合并排序范围
  2. std::inplace_merge:合并连续的排序范围
  3. std::includes:测试排序范围是否包括另一个排序范围
  4. std::set_union:两个排序范围的并集
  5. std::set_intersection:两个排序范围的交集
  6. std::set_difference:两个排序范围的差异
  7. std::set_symmetric_difference:两个排序范围的对称差异

堆操作

  1. std::push_heap:将元素推入堆范围
  2. std::pop_heap: 堆范围内的弹出元素
  3. std::make_heap: 从范围堆
  4. std::sort_heap:排序堆元素
  5. std::is_heap:测试范围是否是堆
  6. std::is_heap_until: 查找不是按堆顺序的第一个元素
  7. std::max: 返回最大
  8. std::minmax: 返回最小和最大元素
  9. std::min_element:返回范围内的最小元素
  10. std::max_element:返回范围内的最大元素
  11. std::minmax_element:返回范围中的最小和最大元素

其他操作

  1. std::lexicographical_compare:词法小于
  2. std::next_permutation:将范围转换为下一个排列
  3. std::prev_permutation: 将范围转换为先前的排列

C++的所有STL文章

被认为是行业中最受欢迎的技能之一, 我们拥有自己的编码基础C ++ STL通过激烈的问题解决过程来训练和掌握这些概念。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: