lower bound 函式使用詳解

2022-07-31 08:06:15 字數 451 閱讀 9993

lower_bound()函式是用來求乙個容器中,第乙個大於等於所要查詢的元素的位址,具體的原理是二分查詢,因此它只能用於非降序序列

他有三個引數,第乙個引數是容器的初始位址,第二個引數是容器的末尾位置,第三個引數是所要查詢的元素值。

返回值是第乙個大於等於所要查詢的元素的位址。

vectorv;

v.push_back(1), v.push_back(2), v.push_back(3);

//列印 2 的位置

cout << lower_bound(v.begin(), v.end(), 2) - v.begin();

int a = ;

//列印 2 的位置

cout << lower_bound(a, a + 3, 2) - a;

lower bound 函式用法

函式lower bound 在first和last中的前閉後開區間進行二分查詢,返回大於或等於val的第乙個元素位置。如果所有元素都小於val,則返回last的位置 舉例如下 乙個陣列number序列為 4,10,11,30,69,70,96,100.設要插入數字3,9,111.pos為要插入的位置...

sort函式和lower bound函式

大理石在哪?劉汝佳 演算法競賽入門經典 p108 題目 現有n個大理石,每個大理石上寫了乙個非負整數。首先把個個數從小到大排序,然後回答q個問題。每個問題問是否有乙個大理石上寫著某個整數x,如果是還要回答那個大理石上寫著x。排序後的大理石從左到右編號為1 n。樣例輸入 4 1 2 3 5 1 5 2...

二分函式lower bound

函式lower bound 在first和last中的前閉後開區間進行二分查詢,返回大於或等於val的第乙個元素位置。如果所有元素都小於val,則返回last的位置 舉例如下 乙個陣列number序列為 4,10,11,30,69,70,96,100.設要插入數字3,9,111.pos為要插入的位置...