STL之algorithm概述

from http://www.cplusplus.com/reference/algorithm/

Non-modifying sequence operations:

function name 用法
all_of Test condition on all elements in range
any_of Test if any element in range fulfills condition
none_of Test if no elements fulfill condition
for_each Apply function to range
find Find value in range
find_if Find element in range
find_if_not Find element in range (negative condition)
find_end Find last subsequence in range
find_first_of Find element from set in range
adjacent_find Find equal adjacent elements in range
count Count appearances of value in range
count_if Return number of elements in range satisfying condition
mismatch Return first position where two ranges differ
equal Test whether the elements in two ranges are equal
is_permutation Test whether range is permutation of another
search Search range for subsequence
search_n Search range for elements

Modifying sequence operations:

function name 用法
copy Copy range of elements
copy_n Copy elements
copy_if Copy certain elements of range
copy_backward Copy range of elements backward
move Move range of elements
move_backward Move range of elements backward
swap Exchange values of two objects
swap_ranges Exchange values of two ranges
iter_swap Exchange values of objects pointed to by two iterators
transform Transform range
replace Replace value in range
replace_if Replace values in range
replace_copy Copy range replacing value
replace_copy_if Copy range replacing value
fill Fill range with value
fill_n Fill sequence with value
generate Generate values for range with function
generate_n Generate values for sequence with function
remove Remove value from range
remove_if Remove elements from range
remove_copy Copy range removing value
remove_copy_if Copy range removing values
unique Remove consecutive duplicates in range
unique_copy Copy range removing duplicates
reverse Reverse range
reverse_copy Copy range reversed
rotate Rotate left the elements in range
rotate_copy Copy range rotated left
random_shuffle Randomly rearrange elements in range
shuffle Randomly rearrange elements in range using generator

Partitions:

function name 用法
is_partitioned Test whether range is partitioned
partition Partition range in two
stable_partition Partition range in two - stable ordering
partition_copy Partition range into two
partition_point Get partition point

Sorting:

function name 用法
sort Sort elements in range
stable_sort Sort elements preserving order of equivalents
partial_sort Partially sort elements in range
partial_sort_copy Copy and partially sort range
is_sorted Check whether range is sorted
is_sorted_until Find first unsorted element in range
nth_element Sort element in range

Binary search (operating on partitioned/sorted ranges):

function name 用法
lower_bound Return iterator to lower bound
upper_bound Return iterator to upper bound
equal_range Get subrange of equal elements
binary_search Test if value exists in sorted sequence

Merge (operating on sorted ranges):

function name 用法
merge Merge sorted ranges
inplace_merge Merge consecutive sorted ranges
includes Test whether sorted range includes another sorted range
set_union Union of two sorted ranges
set_intersection Intersection of two sorted ranges
set_difference Difference of two sorted ranges
set_symmetric_difference Symmetric difference of two sorted ranges

Heap:

function name 用法
push_heap Push element into heap range
pop_heap Pop element from heap range
make_heap Make heap from range
sort_heap Sort elements of heap
is_heap Test if range is heap
is_heap_until Find first element not in heap order

Min/max:

function name 用法
min Return the smallest
max Return the largest
minmax Return smallest and largest elements
min_element Return smallest element in range
max_element Return largest element in range
minmax_element Return smallest and largest elements in range

Other:

function name 用法
lexicographical_compare Lexicographical less-than comparison
next_permutation Transform range to next permutation
prev_permutation Transform range to previous permutation

猜你喜欢

转载自blog.csdn.net/karry_zzj/article/details/76567227