STL函數模板(即演算法)一覽

來源:互聯網
上載者:User

尋找演算法

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)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.