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為要插入的位置...