STL(二十一)非變易演算法

2021-08-07 16:47:37 字數 767 閱讀 5944

非變易演算法是一組不破壞運算元據的模板函式,用來對序列資料進行逐個處理、元素查詢、子串行搜尋、統計和匹配。作為演算法函式引數的迭代器,一般為input iterator輸入迭代器,具有「++」迭代和「*」訪問操作。通過迭代器的元素遍歷,可對迭代器區間所界定的元素進行操作。因此,非變易演算法具有極為廣泛的適用性,基本上可應用於各種容器。

一、逐個容器元素for_each

#include

template function for_each(inputiter first, inputiter last, function f)
二、查詢容器元素find

template inline inputiter find(inputiter first, inputiter last, const t& val, input_iterator_tag)

三、條件查詢容器元素find_if

四、鄰近查詢容器元素adjacent_find

五、範圍查詢容器元素find_first_of

六、統計等於某值的容器元素個數count

七、條件統計容器元素個數count_if

八、元素不匹配查詢mismatch

九、元素相等判斷equal

十、子串行搜尋search

search演算法函式在乙個序列中搜尋與另一串行匹配的子串行。

十一、重複元素子串行搜尋search_n

十二、最後乙個子串行搜尋find_end

Python Signal 訊號 (二十一)

常用訊號型別sigint 終止程序 中斷程序,不可通過signal.signal 捕捉 相當於ctrl c sigterm 終止程序 軟體終止訊號,可通過signal.signal 捕捉 預設訊號,當os.kill 沒有指明訊號型別時,預設的是該訊號 sigkill 終止程序 殺死程序,不可捕捉 相...

C primer 二十一 模板

模板定義以關鍵字template開始,後跟乙個模板引數列表 template parameter list 這是乙個逗號分隔的乙個或多個模板引數 template parameter 的列表,用小於號 包圍起來。模板引數列表的作用很像函式引數列表。函式引數列表定義了若干特定型別的區域性變數,但並末指...

命令二十一 tar

隨著壓縮技術的發展,linux環境下提供的壓縮指令和格式開始變多。為了便於使用者區分不同壓縮檔案使用的不同壓縮技術,進而使用合適的指令進行操作,一般使用字尾標識檔案在壓縮或打包過程中所使用的壓縮技術。常見的字尾有以下幾種 z compress程式壓縮產生的檔案 現在很少使用 gz gzip程式壓縮產...