1. 算法頭文件 (Header File)
- 要使用標(biāo)準(zhǔn)庫的算法,首先要包含頭文件 <algorithm>
#include <algorithm>
- 某些 STL 算法用于數(shù)值處理谋减,被定義于 <numeric>
include <numeric>
- 使用算法時(shí)医清,常用到 function object 及 function adapter ,定義于 <functional>
include <functional>
2. 算法簡(jiǎn)介
- 所有 STL 算法都被設(shè)計(jì)用來處理一個(gè)或多個(gè) iterator 區(qū)間梅掠。第一個(gè)區(qū)間通常以起點(diǎn)和終點(diǎn)表示抵乓,其他區(qū)間則多數(shù)情況下只需提供起點(diǎn),其終點(diǎn)可自己推導(dǎo)仇哆。當(dāng)然辽剧,調(diào)用者必須保證有足夠的空間。
- STL 算法采用 overwrite 而非 insert 模式税产。所以調(diào)用者必須保證目的區(qū)間擁有足夠空間。另一個(gè)方法就是運(yùn)用 insert iterator.
- 某些 STL 算法允許使用者提供自定義操作偷崩,由 STL 算法調(diào)用辟拷。這些操作可以是尋常函數(shù),亦可以是 functior.
3. 算法分類
-
非更易型算法 (nonmodifying algorithm)
nonmodifying algorithm -
更易型算法 (modifying algorithm)
modigying algorithm -
排序算法 (sorting algorithm)
sorting algorithm -
數(shù)值算法 (numeric algorithm)
numric algorithm
注:筆記中基本所有截圖都來自于 www.cpluscplus.com
注:部分內(nèi)容參考自《c++標(biāo)準(zhǔn)庫》