查詢演算法
adjacent_find:找出乙個串中第乙個不符合次序的地方
find,find_if:找出第乙個符合條件的元素
find_first_of:在乙個串中尋找第乙個與另乙個串中任意乙個元素相等的元素
search_n:在乙個串中尋找乙個元素第n次出現的地方
count,count_if:乙個串中符合條件的元素個數
mismatch:找出兩個串第乙個不相等的地方
equal:判斷兩個串的指定部分是否完全相等
lexicographical_compare,lexicographical_compare_3way:按詞典順序比較字串
search:在乙個串中尋找乙個子串第一次出現的位置
find_end:尋找乙個子串最後一次出現的地方
binary_search,lower_bound,upper_bound,equal_range:在已排序的串中進行二分法搜尋
min,max:比較兩個數,返回數值
min_element,max_element:尋找指定範圍內的最值
改變內容的演算法
copy,copy_n:從指定位置開始複製資料
copy_backward:指定目標的結尾進行複製
swap:交換兩個容器內容
iter_swap:交換兩個指標指向內容
swap_range:交換指定範圍內的內容
transform:把元素逐個進行一元或二元運算結果放在新的容器
fill,fill_n:往容器的一定範圍內填入相同元素
generate,generate_n:往容器的一定範圍內填入指定的無參函式(如rand)的返回值
replace,replace_if,replace_copy,replace_copy_if:替換符合條件的元素
remove,remove_if,remove_copy,remove_copy_if:刪除符合條件的元素
unique,unique_copy:除去相鄰的相同元素
reverse,reverse_copy:反轉指定範圍的內容
rotate,rotate_copy:迴圈排列指定範圍的內容
random_shuffle:隨機重排指定範圍的內容
next_permutation,prev_permutation:按下一種或上一種排列方式排列指定範圍的內容(一共有n!種排列方式)
random_sample,random_sample_n:對指定範圍的內容進行隨機抽樣
partition,stable_partition:把指定範圍內元素按指定區分法則分成兩部分
排序演算法
sort:快速排序
stable_sort:穩定排序
partial_sort,partial_sort_copy:只排出最大(或最小)的前幾位
nth_element:快速排序的一輪
merge,inplace_merge:歸併排序的一輪
is_sorted:判斷是否已排序
make_heap:生成堆
pop_heap:取出最大元素並重建堆
push_heap:往堆中新增最後乙個元素並重建堆
sort_heap:堆排序
is_heap:判斷是否是堆
集合運算的演算法(使用時應保證容器已排序)
includes:乙個已排序集合是否含於另乙個
set_union:取兩個已排序集合的並集
set_inter:取兩個已排序集合的交集
set_difference:乙個已排序集合中不存在於另乙個集合中的元素構成的集合
set_symmetric_difference:取兩個已排序集合的異或
特定演算法
itoa:把從指定值遞增1的數列填入陣列
accumulate:累加求總和
inner_product:求兩個向量的內積
partial_sum:逐限累加成新陣列
adjacent_difference:逐限求差成新陣列
power:對乙個數累乘或累次執行乙個操作
(ps:以上內容**自http://hi.baidu.com/wwbmmm/blog/item/c2e29b3f950ea1fc828b1319.html)
STL函式模板(即演算法)一覽
查詢演算法 adjacent find 找出乙個串中第乙個不符合次序的地方 find,find if 找出第乙個符合條件的元素 find first of 在乙個串中尋找第乙個與另乙個串中任意乙個元素相等的元素 search n 在乙個串中尋找乙個元素第n次出現的地方 count,count if ...
STL 函式模板
函式模板 1.有兩個型別引數的函式模板 2.在template語句與函式模板定義之間不允許有別的語句 3.同一函式模板例項化後的所有模板函式都必須執行相同的操作 4.函式模板也可以過載 5.函式模板與同名的非模板函式可以過載,這種情況下,呼叫時先找引數完全匹配的非模板函式,如果找不到就呼叫匹配的模板...
STL 函式模板筆記
模板技術 型別引數化 編寫 可以忽略型別 為了讓編譯器區分是普通函式還是 函式模板 template template void myswap t a,t b 每個模板函式都要加 template void test01 使用函式模板 函式模板可以做過載 普通函式可以做自動型別轉化 函式模板可以像普...