STL 函式 詳解

2021-07-25 12:14:12 字數 650 閱讀 5456

find(array.begin(), array.end(), int val)

a. 遍歷整個範圍。

b. 如果沒有找到,則返回array.end,如果找到,則返回第乙個相等元素的迭代器。

lower_bound(array.begin(), array.end(), int val)

a. 二分查詢。

b. 返回範圍內不小於val的第乙個值,如果都小於則返回array.end。

upper_bound(array.begin(), array.end(), int val)

a. 二分查詢。

b. 返回範圍內大於val的第乙個值,如果都小於則返回array.end。

equal_range(array.begin(), array.end(), int val)

a. 利用lower_bound和upper_bound實現。

b. 返回乙個包含兩個迭代器的pair,如果不存在,則返回大於val的第乙個值。

binary_search(array.begin(), array.end(), int val)

a. 利用lower_bound實現的二分查詢(不等於end且val不小於返回的第乙個元素)。

b.如果存在返回true,不存在返回false。

stl中sort函式詳解

1.sort 函式的形式 sort first pointer,first pointer n,cmp 函式的第乙個引數是陣列的首位址,一般寫上陣列名就可以,因為陣列名是乙個指標常量。第二個引數相對較好理解,即首位址加上陣列的長度n。最後乙個引數是比較函式的名稱 一般比較函式名字都用cmp,當然這個...

STL中排序函式詳解

排序 sort 所有sort演算法介紹 使用的迭代器 iterator 都需是隨機迭代器 radomaccessiterator 1.所有 函式名功能描述 sort對給定區間所有元素進行排序 stable sort對給定區間所有元素進行穩定排序 partial sort對給定區間所有元素部分排序 p...

STL之list函式詳解

list使用雙向鍊錶來管理元素,可以從兩端發展新元素,其內部結構如圖1所示。圖1 list的結構 list的內部結構和vetor或deque截然不同,主要的區別入下 list所提供的成員函式區別 list的好處是不論在任何位置,元素的安插和移除都只需要常數時間。如果我們要將若干元素從a容器移動b容器...