程序设计艺术(1): STL

温馨提醒

#STL常用算法函数及其参数简明含义

供快速回顾(常用函数摘自HFUT ICPC讲义P21)

  1. find

    • 功能:在范围 [first, last) 中查找值为 val 的第一个元素。
    • 参数
      • InIt first, InIt last:输入迭代器,指定搜索范围。
      • const T& val:需要查找的值。
  2. find_if

    • 功能:在范围 [first, last) 中查找第一个满足谓词 pr 的元素。
    • 参数
      • InIt first, InIt last:输入迭代器。
      • Pred pr:一元谓词函数,返回布尔值。
  3. count

    • 功能:计算范围 [first, last) 中等于 val 的元素个数。
    • 参数
      • InIt first, InIt last:输入迭代器。
      • const T& val:待计数的值。
  4. count_if

    • 功能:计算范围 [first, last) 中满足谓词 pr 的元素个数。
    • 参数
      • InIt first, InIt last:输入迭代器。
      • Pred pr:一元谓词函数。
  5. copy

    • 功能:将范围 [first, last) 中的元素复制到 x 开始的位置。
    • 参数
      • InIt first, InIt last:输入迭代器。
      • OutIt x:输出迭代器,复制的目标位置。
  6. swap

    • 功能:交换两个变量 xy 的值。
    • 参数
      • T& x, T& y:需要交换的两个变量。
  7. swap_ranges

    • 功能:交换两个范围 [first, last) 和从 x 开始的元素。
    • 参数
      • FwdIt1 first, FwdIt1 last:第一个范围的迭代器。
      • FwdIt2 x:第二个范围的起始迭代器。
  8. replace

    • 功能:将范围 [first, last) 中等于 vold 的元素替换为 vnew
    • 参数
      • FwdIt first, FwdIt last:输入迭代器。
      • const T& vold, const T& vnew:旧值和新值。
  9. replace_if

    • 功能:将范围 [first, last) 中满足谓词 pr 的元素替换为 val
    • 参数
      • FwdIt first, FwdIt last:输入迭代器。
      • Pred pr:一元谓词函数。
      • const T& val:替换的值。
  10. generate

    • 功能:用生成器 g 生成的值填充范围 [first, last)
    • 参数
      • FwdIt first, FwdIt last:输入迭代器。
      • Gen g:生成器函数。
  11. generate_n

    • 功能:用生成器 g 生成的值填充从 first 开始的 n 个元素。
    • 参数
      • OutIt first:输出迭代器。
      • Dist n:生成元素的数量。
      • Gen g:生成器函数。
  12. remove

    • 功能:删除范围 [first, last) 中等于 val 的元素,并返回新范围的末尾迭代器。
    • 参数
      • FwdIt first, FwdIt last:输入迭代器。
      • const T& val:需要删除的值。
  13. remove_if

    • 功能:删除范围 [first, last) 中满足谓词 pr 的元素,并返回新范围的末尾迭代器。
    • 参数
      • FwdIt first, FwdIt last:输入迭代器。
      • Pred pr:一元谓词函数。
  14. remove_copy

    • 功能:将范围 [first, last) 中不等于 val 的元素复制到 x 开始的地方。
    • 参数
      • InIt first, InIt last:输入迭代器。
      • OutIt x:输出迭代器。
      • const T& val:待删除的值。
  15. remove_copy_if

    • 功能:将范围 [first, last) 中不满足谓词 pr 的元素复制到 x 开始的位置。
    • 参数
      • InIt first, InIt last:输入迭代器。
      • OutIt x:输出迭代器。
      • Pred pr:一元谓词函数。
  16. unique

    • 功能:删除范围 [first, last) 中相邻的重复元素。
    • 参数
      • FwdIt first, FwdIt last:输入迭代器。
  17. unique (带谓词)

    • 功能:删除范围 [first, last) 中相邻满足谓词 pr 的重复元素。
    • 参数
      • FwdIt first, FwdIt last:输入迭代器。
      • Pred pr:二元谓词函数。
  18. reverse

    • 功能:反转范围 [first, last) 中的元素。
    • 参数
      • BidIt first, BidIt last:双向迭代器。
  19. reverse_copy

    • 功能:将范围 [first, last) 中的元素反转后复制到 x 开始的位置。
    • 参数
      • BidIt first, BidIt last:双向迭代器。
      • OutIt x:输出迭代器。
  20. partition

    • 功能:将范围 [first, last) 中满足谓词 pr 的元素放在不满足谓词的元素之前。
    • 参数
      • BidIt first, BidIt last:双向迭代器。
      • Pred pr:一元谓词函数。
  21. stable_partition

    • 功能:与 partition 类似,但保留相对顺序。
    • 参数
      • FwdIt first, FwdIt last:前向迭代器。
      • Pred pr:一元谓词函数。
  22. sort

    • 功能:对范围 [first, last) 中的元素进行升序排序。
    • 参数
      • RanIt first, RanIt last:随机访问迭代器。
  23. sort (带谓词)

    • 功能:按照谓词 pr 对范围 [first, last) 中的元素排序。
    • 参数
      • RanIt first, RanIt last:随机访问迭代器。
      • Pred pr:二元谓词函数。
  24. stable_sort

    • 功能:稳定排序范围 [first, last) 中的元素,保留相等元素的相对顺序。
    • 参数
      • BidIt first, BidIt last:双向迭代器。
  25. stable_sort (带谓词)

    • 功能:按照谓词 pr 稳定排序。
    • 参数
      • BidIt first, BidIt last:双向迭代器。
      • Pred pr:二元谓词函数。
  26. nth_element

    • 功能:对范围 [first, last) 进行部分排序,使得 nth 处的元素位于其最终位置。
    • 参数
      • RanIt first, RanIt nth, RanIt last:随机访问迭代器。
  27. binary_search

    • 功能:判断范围 [first, last) 中是否存在值 val
    • 参数
      • FwdIt first, FwdIt last:前向迭代器。
      • const T& val:要查找的值。
  28. binary_search (带谓词)

    • 功能:根据谓词 pr 判断范围 [first, last) 中是否存在值 val
    • 参数
      • FwdIt first, FwdIt last:前

向迭代器。 - const T& val:要查找的值。 - Pred pr:二元谓词函数。

  1. merge

    • 功能:将两个已排序的范围合并到一个新的范围中。
    • 参数
      • InIt1 first1, InIt1 last1:第一个范围的输入迭代器。
      • InIt2 first2, InIt2 last2:第二个范围的输入迭代器。
      • OutIt x:输出迭代器。
  2. merge (带谓词)

    • 功能:根据谓词 pr 将两个已排序范围合并。
    • 参数
      • InIt1 first1, InIt1 last1:第一个范围的输入迭代器。
      • InIt2 first2, InIt2 last2:第二个范围的输入迭代器。
      • OutIt x:输出迭代器。
      • Pred pr:二元谓词函数。
  3. max

    • 功能:返回 xy 中较大的那个。
    • 参数
      • const T& x, const T& y:两个待比较的值。
  4. max (带谓词)

    • 功能:根据谓词 pr 返回较大的值。
    • 参数
      • const T& x, const T& y:两个待比较的值。
      • Pred pr:二元谓词函数。
  5. min

    • 功能:返回 xy 中较小的那个。
    • 参数
      • const T& x, const T& y:两个待比较的值。
  6. min (带谓词)

    • 功能:根据谓词 pr 返回较小的值。
    • 参数
      • const T& x, const T& y:两个待比较的值。
      • Pred pr:二元谓词函数。

仅供参考,可能有误