stl标准库 算法

Stl算法 stl算法采用覆盖模式,而不是插入模式。所以调用者必须保证目标区间拥有足够的元素空间。也可以用特殊的插入型迭代器来解决这个问题。 非变动性算法 名称 作用 for_each 对每个元素执行某项操作 count 返回元素个数 count_if 返回满足某一准则的元素个数 min_element 返回最小值 max_element 返回最大值 find 搜寻等于某个值的第一个元素 find_if 搜寻满足某一准则的第一个元素 search_n 搜寻具有某特性的第一段n个连续元素 search 搜寻某个子区间第一次出现的位置 find_end 搜寻某个子区间最后出现的位置 find_first_of 搜寻等于某数个值之一的第一个元素 adjacent_find 搜寻连续两个相等(符合特定准则)的元素 equal 判断两个区间是否相等 mismatch 返回两个序列的各组对应元素中,第一队不相等元素 lexicographical_compare 判断某一序列在字典顺序下是否小于另一序列 非变动性算法既不改变元素次序,也不改动元素值。 变动性算法 名称 作用 for_each 对每个元素执行某项操作 copy 从第一个元素开始,复制某段区间 copy_backward 从最后一个元素开始,复制某段区间 transform 变动并复制元素,将两个区间元素合并 merge 合并两个区间 swap_ranges 交换两区间内的元素 fill 以给定值替换每一个元素 fill_n 以给定值替换n个元素 generate 以某项操作的结果替换每个元素 generate_n 以某项操作的结果替换n个元素 replace 将具有某特定值的元素替换为另一个值 replace_if 将符合某准则的元素替换为另一个值 replace_copy 复制整个区间,同时并将具有某特定值的元素替换为另一个值 replace_copy_if 复制整个区间,同时并将符合某准则的元素替换为另一个值 变动性算法,要不直接改变元素值,要不就是在复制到另一区间的过程中改变元素值。 关联式容器的元素被视为常数,所以不能将关联式容器当做变动性算法的目标区间 for_each... Read More | Share it now!