include及其常用函式

2021-08-28 22:23:36 字數 4310 閱讀 2396

#include:algorithm意為"演算法",是c++的標準模版庫(stl)中最重要的標頭檔案之一,提供了大量基於迭代器的非成員模版函式。

accumlate : iterator 對標誌的序列中的元素之和,加到乙個由 init 指定的初始值上。過載的版本不再做加法,而是傳進來的二元操作符被應用到元素上。

adjacent_find :在 iterator 對標誌的元素範圍內,查詢一對相鄰的重複元素,如果找到返回乙個 forwarditerator ,指向這對元素的第乙個元素。否則返回 last 。過載版本使用輸入的二元操作符代替相等的判斷。

binary_search :在有序序列中查詢 value ,如果找到返回 true 。過載的版本使用指定的比較函式物件或者函式指標來判斷相等。

copy :複製序列。

copy_backward :除了元素以相反的順序被拷貝外,別的和 copy 相同。

count :利用等於操作符,把標誌範圍類的元素與輸入的值進行比較,並返回相等元素的個數。

count_if :對於標誌範圍類的元素,應用輸入的操作符,並返回結果為 true 的次數。

equal :如果兩個序列在範圍內的元素都相等,則 equal 返回 true 。過載版本使用輸入的操作符代替了預設的等於操作符。

equal_range :返回一對 iterator ,第乙個 iterator 表示由 lower_bound 返回的 iterator ,第二個表示由 upper_bound 返回的 iterator 值。

fill :將輸入的值的拷貝賦給範圍內的每個元素。

fill_n :將輸入的值賦值給 first 到 frist+n 範圍內的元素。

find :利用底層元素的等於操作符,對範圍內的元素與輸入的值進行比較。當匹配時,結束搜尋,返回該元素的乙個 inputiterator 。

find_if :使用輸入的函式替代了等於操作符執行了 find 。

find_end :在範圍內查詢「由輸入的另外乙個 iterator 對標誌的第二個序列」的最後一次出現。過載版本中使用了使用者輸入的操作符替代等於操作。

find_first_of :在範圍內查詢「由輸入的另外乙個 iterator 對標誌的第二個序列」中的任意乙個元素的第一次出現。過載版本中使用了使用者自定義的操作符。

for_each :依次對範圍內的所有元素執行輸入的函式。

generate :通過對輸入的函式 gen 的連續呼叫來填充指定的範圍。

generate_n :填充 n 個元素。

includes :判斷 [first1, last1) 的乙個元素是否被包含在另外乙個序列中。使用底層元素的 <= 操作符,過載版本使用使用者輸入的函式。

inner_product :對兩個序列做內積 ( 對應的元素相乘,再求和 ) ,並將內積加到乙個輸入的的初始值上。過載版本使用了使用者定義的操作。

inner_merge :合併兩個排過序的連續序列,結果序列覆蓋了兩端範圍,過載版本使用輸入的操作進行排序。

iter_swap :交換兩個 forwarditerator 的值。

lexicographical_compare :比較兩個序列。過載版本使用了使用者自定義的比較操作。

lower_bound :返回乙個 iterator ,它指向在範圍內的有序序列中可以插入指定值而不破壞容器順序的第乙個位置。過載函式使用了自定義的比較操作。

max :返回兩個元素中的較大的乙個,過載版本使用了自定義的比較操作。

max_element :返回乙個 iterator ,指出序列中最大的元素。過載版本使用自定義的比較操作。

min :兩個元素中的較小者。過載版本使用自定義的比較操作。

min_element :類似與 max_element ,不過返回最小的元素。

merge :合併兩個有序序列,並存放到另外乙個序列中。過載版本使用自定義的比較。

mismatch :並行的比較兩個序列,指出第乙個不匹配的位置,它返回一對 iterator ,標誌第乙個不匹配的元素位置。如果都匹配,返回每個容器的 last 。過載版本使用自定義的比較操作。

nth_element :將範圍內的序列重新排序,使所有小於第 n 個元素的元素都出現在它前面,而大於它的都出現在後面,過載版本使用了自定義的比較操作。

partial_sort :對整個序列做部分排序,被排序元素的個數正好可以被放到範圍內。過載版本使用自定義的比較操作。

partial_sort_copy :與 partial_sort 相同,除了將經過排序的序列複製到另外乙個容器。

partial_sum :建立乙個新的元素序列,其中每個元素的值代表了範圍內該位置之前所有元素之和。過載版本使用了自定義操作替代加法。

partition :對範圍內元素重新排序,使用輸入的函式,把計算結果為 true 的元素都放在結果為 false 的元素之前。

random_shuffle :對範圍內的元素隨機調整次序。過載版本輸入乙個隨機數產生操作。

remove :刪除在範圍內的所有等於指定的元素,注意,該函式並不真正刪除元素。內建陣列不適合使用 remove 和remove_if 函式。

remove_if :刪除所有範圍內輸入操作結果為 true 的元素。

remove_copy_if :將所有不匹配的元素拷貝到乙個指定容器。

replace :將範圍內的所有等於 old_value 的元素都用 new_value 替代。

replace_copy :與 replace 類似,不過將結果寫入另外乙個容器。

replace_if :將範圍內的所有操作結果為 true 的元素用新值替代。

replace_copy_if :類似與 replace_if ,不過將結果寫入另外乙個容器。

reverse :將範圍內元素重新按反序排列。

reverse_copy :類似與 reverse ,不過將結果寫入另外乙個容器。

rotate :將範圍內的元素移到容器末尾,由 middle 指向的元素成為容器第乙個元素。

rotate_copy :類似與 rotate ,不過將結果寫入另外乙個容器。

search :給出了兩個範圍,返回乙個 iterator ,指向在範圍內第一次出現子串行的位置。過載版本使用自定義的比較操作。

search_n :在範圍內查詢 value 出現 n 次的子串行。過載版本使用自定義的比較操作。

set_difference :構造乙個排過序的序列,其中的元素出現在第乙個序列中,但是不包含在第二個序列中。過載版本使用自定義的比較操作。

set_intersection :構造乙個排過序的序列,其中的元素在兩個序列中都存在。過載版本使用自定義的比較操作。

set_symmetric_difference :構造乙個排過序的序列,其中的元素在第乙個序列中出現,但是不出現在第二個序列中。過載版本使用自定義的比較操作。

set_union :構造乙個排過序的序列,它包含兩個序列中的所有的不重複元素。過載版本使用自定義的比較操作。

sort :以公升序重新排列範圍內的元素,過載版本使用了自定義的比較操作。

stable_partition :與 partition 類似,不過它不保證保留容器中的相對順序。

stable_sort :類似與 sort ,不過保留相等元素之間的順序關係。

swap :交換儲存在兩個物件中的值。

swap_range :將在範圍內的元素與另外乙個序列的元素值進行交換。

transform :將輸入的操作作用在範圍內的每個元素上,並產生乙個新的序列。過載版本將操作作用在一對元素上,另外乙個元素來自輸入的另外乙個序列。結果輸出到指定的容器。

unique :清除序列中重複的元素,和 remove 類似,它也不能真正的刪除元素。過載版本使用了自定義的操作。

unique_copy :類似與 unique ,不過它把結果輸出到另外乙個容器。

upper_bound :返回乙個 iterator ,它指向在範圍內的有序序列中插入 value 而不破壞容器順序的最後乙個位置,該位置標誌了乙個大於 value 的值。過載版本使用了輸入的比較操作。

堆演算法: c++ 標準庫提供的是 max-heap 。一共由以下 4 個泛型堆演算法。

make_heap :把範圍內的元素生成乙個堆。過載版本使用自定義的比較操作。

pop_heap :並不是真正的把最大元素從堆中彈出,而是重新排序堆。它把 first 和 last-1 交換,然後重新做成乙個堆。可以使用容器的 back 來訪問被「彈出「的元素或者使用 pop_back 來真正的刪除。過載版本使用自定義的比較操作。

push_heap :假設 first 到 last-1 是乙個有效的堆,要被加入堆的元素在位置 last-1 ,重新生成堆。在指向該函式前,必須先把元素插入容器後。過載版本使用指定的比較。

sort_heap :對範圍內的序列重新排序,它假設該序列是個有序的堆。過載版本使用自定義的比較操作。

include中常用函式的使用

include algorithm 是c 的標準模版庫 stl 中最重要的標頭檔案之一,提供了大量基於迭代器的非成員模板函式。以下將介紹幾個常用的庫函式 反轉排序指定範圍中的元素,reverse a,b 可以將陣列指標在 a,b 之間的元素或容器的迭代器在 a,ib 範圍內的元素進行反轉。程式示例 ...

include裡的函式

include裡的函式 include 非修改性序列操作 12個 迴圈對序列中的每個元素執行某操作 for each 查詢在序列中找出某個值的第一次出現的位置 find 在序列中找出符合某謂詞的第乙個元素 find if 在序列中找出一子串行的最後一次出現的位置 find end 在序列中找出第一次...

c語言include函式

ctype.h 字元處理函式 本類別函式用於對單個字元進行處理,包括字元的類別測試和字元的大小寫轉換 字元測試是否字母和數字 isalnum 是否字母 isalpha 是否控制字元 iscntrl 是否數字 isdigit 是否可顯示字元 除空格外 isgraph 是否可顯示字元 包括空格 ispr...