c++ STL Algorithm簡單總結備忘
前言
有感於對stl中algorithm類別的不甚瞭解,於是最近幾天利用白天或者晚上零碎的時間對stl中的algorithm的東西進行了簡單的瀏覽,測試和歸納。
演算法分類
非修改演算法
- 序列滿足某一條件
all_of
返回bool型別,是否全部滿足某一條件
any_of
是否有某一個滿足某一條件
none_of
是否任何一個都不滿足某一條件 遍歷
for_each
對序列中的元素進行某一個操作例如我喜歡用的輸出方法: for_each(v1.begin(), v1.end(), [](int x){cout << x << " "; }); cout << endl;
- 查詢
find
查詢某一個元素
find_if
查詢滿足某一個條件第一個元素位置
find_if_not
查詢不滿足條件的第一個元素位置
奇葩的幾個
find_end
查詢一個序列(引數2)在另一個序列(引數1)中最後出現的位置
find_first_of
查詢在一個序列(引數2)某一個元素在另一個序列(引數1)中第一次出現的位置
adjacent_find
查詢在一個序列中連續兩個元素第一次滿足某一個條件的位置 - 統計
count
統計元素個數
count_if
統計滿足條件的元素個數 - 比較
mismatch
兩個序列第一個不匹配的位置
equal
兩個序列是否完全一樣 - 序列查詢
search
查詢一個序列在另一個序列第一次出現的位置(與find_end
對應,也是奇葩)
search_n
查詢一個n個val的序列在另一個序列第一次出現的位置
修改序列類
分割槽partition
排序
二分查詢
集合類操作
堆
最大最小元素
排列
內容有空的話,會不斷追加
參考文獻
- c++程式設計語言之標準庫
- http://www.cplusplus.com/reference/algorithm/
相關文章
- 關於STL容器的簡單總結
- C++ STL容器總結C++
- C++ STL演算法總結C++演算法
- C++基礎簡單總結C++
- C++ STL簡介 (轉)C++
- 簡單整理js打碼備忘錄JS
- 備忘錄--最近一些總結
- STL:set用法總結
- STL:map用法總結
- STL:vector用法總結
- STL:list用法總結
- C++ STL list連結串列C++
- vuex簡單總結Vue
- MySQL簡單總結MySql
- express簡單總結Express
- C++_STL—演算法Algorithm篇C++演算法Go
- 易被遺忘的C/C++要點總結C++
- 列舉簡單總結
- sql注入簡單總結SQL
- Pygame的簡單總結GAM
- 外部表簡單總結
- Oracle profiles簡單總結Oracle
- 我的 Git 備忘單Git
- js閉包簡單總結JS
- 前端模組化簡單總結前端
- MVC-HtmlHelper簡單總結MVCHTML
- Django ORM的簡單總結DjangoORM
- Docker Compose 備忘清單Docker
- 簡單的程式詮釋C++ STL演算法系列之十五:swapC++演算法
- 簡簡單單的總結,意如生活的平淡
- Flex 資料繫結備忘Flex
- C++ STL listC++
- C++ STL stackC++
- C++ STL -- vectorC++
- C++ STL -- listC++
- C++ STL -- HashTableC++
- 資料結構簡單要點總結資料結構
- HTTP/2 特性的簡單總結HTTP