C STL演算法簡述

2021-07-25 10:02:56 字數 573 閱讀 1571

標準庫定義了超過100個演算法,想要高效的使用這些演算法需要了解他們的結構而不是單純記憶每個演算法的細節,以下是演算法框架的描述和理解:

1、beg和end是表示元素範圍的迭代器,幾乎每個演算法都對應乙個由beg和end表示的序列,其中beg表示開始位置,end表示結束位置;

2、beg2是表示第二個輸入序列的開始位置的迭代器,end2表示第二個序列的末尾位的迭代器,如果沒有end2,表示beg2開始的序列與beg和end的序列一樣大,beg和beg2的型別不一定匹配,但必須保證對兩個序列中的元素都可以執行特定的操作或呼叫給定的可呼叫物件;

3、dest是表示目的序列的迭代器。對於給定的輸入序列,演算法需要生成多少元素,目的序列必須保證能儲存同樣多的元素;

4、unarypred和binarypred是一元和二元謂詞,分別接受乙個和兩個引數,都是來自輸入序列的元素,兩個謂詞都返回可用於做條件的型別。

5、comp是乙個二元謂詞,滿足關聯容器中對關鍵字序的要求;

6、unaryop和binaryop是可呼叫物件,可分別使用來自輸入序列的乙個和兩個實參來呼叫;

--摘自c++primer

C STL填充演算法

include include include include include include include include include using namespace std template void printvector vectorv vectorvarr arr,arr 9 pri...

c STL演算法總結

標頭檔案 功能algorithm 演算法函式 numeric 數值演算法 functiona 函式物件 仿函式 分類no.分類說明解釋1 非可變序列演算法 non modifying sequence operations 不直接修改容器內容的演算法。2可變序列演算法 modifying seque...

C STL 搜尋演算法

c stl 搜尋演算法 1,find find if 查詢第乙個匹配值或使得謂詞返回ture的元素 2,find first of 與find類似,只是同時搜尋多個元素中的乙個 3,adjacent find 查詢第乙個兩個連續元素相等或匹配謂詞的例項 4,search 和find end 在序列中...