STL 常用函式

2021-07-29 13:43:40 字數 3141 閱讀 1032

參考:

1、count系列

(1)int count(iterator first,iterator last,val)

(2)int count_if(iterator first,iterator last,pred_fun)

2、copy系列

(1)iterator copy(iterator first,iterator last,iterator result)

(2)iterator copy_n(iterator first,int n,iterator result)

(3)iterator copy_if(iterator first,iterator last,iterator result,pred_fun)

3、equal

(1)bool equal(iterator first1,iterator last1,iterator first2):把fisrt1-last1範圍內的元素和以first2開始的位置做比較。

4、find系列

(1)iterator find(iterator first,iterator last, val):返回first-last之間第乙個等於val的元素的迭代器

(2)iterator find_if(iterator first,iterator last,pre_fun):返回first-last之間第乙個滿足條件pre_fun的元素的迭代器

(3)iterator find_end(iterator first1,iterator last1,iterator first2,iterator last2):返回first1-last1之間最後乙個等於first2-last2的序列的首迭代器

5、for_each

(1)void for_each(iterator first,iterator last,function fn):對first-last範圍內的每乙個元素呼叫函式fn

6、is_sorted系列

(1)bool is_sorted(iterator first,iterator last):若first-last之間的值是公升序排列,則返回true;反之返回false

(2)iterator is_sorted_until(iterator first,iterator last):返回first-last之間第乙個不遵循公升序規則的元素的iterator

7、lower_bound & upper_bound

(1)iterator lower_bound(iterator first,iterator last,val):返回first-last之間第乙個大於或等於val的元素的迭代器

(2)iterator upper_bound(iterator first,iterator last ,val):返回first-last之間第乙個大於val的元素的迭代器

8、max & min系列

(1)t max(t a,t b):返回a和b中較大的值

(2)iterator max_element(iterator first,iterator last):返回first-last範圍內最大的元素的迭代器

(3)t min(t a,t b):返回a和b中較小的值

(4)iterator min_element(iterator first,iterator last):返回first-last範圍內最小的元素的迭代器

(5)auto result = minmax(il):返回il中的最小值和最大值 ,result->first和result->second分別是最小值和最大值

(6)auto result = minmax_element(iterator first,iterator last):返回first-last之間的最小值和最大值

9、swap

(1)swap(a,b):交換a和b的值

10、sort系列

(1)void sort(iterator first,iterator last):對first-last範圍內的元素進行公升序排序,演算法複雜度o(nlog2n)

(2)void stable_sort(iterator first,iterator last):和sort一樣,但是是個穩定排序,演算法複雜度o(nlog2n)

10、search系列

(1)iterator search(iterator first1 ,iterator last1,iterator first2,iterator last2):返回在first1-last1之間的,元素序列值為first2-last2的序列的首位址。

(2)iterator search(iterator first1

,iterator last1,iterator first2,iterator last2,function func):返回first1-last1之間的乙個序列的首位址,從這個首位址開始的last2-first2個元素與first2-last2之間的元素之間的關係滿足函式func,其中  func返回bool型。

11、reverse & rotate

(1)void reverse(iterator first,iterator last):把first-last的資料翻過來位置

(2)iterator rotate(iterator first,iterator middle,iterator last):把middle-last之間的元素放到前面,first-middle之間的元素放在後面。

函式之間的區別與聯絡:

1、iterator find_first_of(iterator first1,iterator last1,iterator first2,iterator last2) &  iterator search(iterator first1,iterator last1,iterator first2,iterator last2)

find_first_of函式只需找到第乙個元素滿足下列條件:這個元素在[first2,last2]範圍之內

search函式需要找到乙個位置i,從i開始的元素完全與[first2,last2]範圍內的元素相等

STL常用函式

1.map中查詢指定鍵值 map.find 2.set中查詢指定鍵值 sets s.find s.count 注 count 函式統計某一鍵值出現的次數,因此可以檢視set中是否出現某一鍵值。3.sort 函式 sort vect.begin vect.end 此時相當於呼叫 sort vect.b...

STL中常用函式

標頭檔案寫 include 定義 stack stackname 成員函式 成員函式 功能bool empty 棧為空返回true,否則返回false void pop 刪除棧頂元素,即出棧 void push const type val 將新元素val進棧,使其成為棧頂元素 type top 檢...

STL常用函式總結

先進後出,只有乙個出口,只能操作最頂端元素。定義stackstack name 例 stack int s 操作s.empty 返回bool型,表示棧內是否為空 s.size 返回棧內元素個數 s.pop 移除棧頂元素 s.push a 向棧中壓入a元素 s.top 返回棧頂元素 先進先出,從底端加...