C++ 演算法 lower_bound() 函式
示例
查詢向量中等於或大於“4”的最低值
vector<int> numbers = {1, 7, 3, 5, 9, 2};
sort(numbers.begin(), numbers.end());
auto it = lower_bound(numbers.begin(), numbers.end(), 4);
if (it != numbers.end()) {
cout << *it << " is the first value at or above 4";
} else {
cout << "No elements found at or above the lower bound";
}
自己動手試一試 »
定義和用法
lower_bound()
函式是一種高效的演算法,用於在已排序的資料範圍內查詢等於或大於指定下限的第一個值。
如果資料範圍尚未排序,則函式可能會返回錯誤的結果。可以使用 sort()
函式對資料範圍內的元素進行排序。
資料範圍由迭代器指定。
語法
lower_bound(iterator start, iterator end, <type> bound);
<type>
指的是範圍包含的資料型別。
引數值
引數 | 描述 |
---|---|
start | 必需。指向資料範圍開始位置的迭代器。 |
end | 必需。指向資料範圍結束位置的迭代器。將包含此位置之前的元素,但不包含此位置的元素。 |
bound | 必需。指定下限。 |
技術詳情
返回 | 一個指向包含等於或大於下限的第一個值的元素的迭代器。如果找不到任何元素,則返回資料範圍的末尾。 |
---|
相關頁面
在我們 資料結構教程 中瞭解更多關於資料結構的資訊。
在我們 迭代器教程 中瞭解更多關於迭代器的資訊。
在我們 演算法教程 中瞭解更多關於演算法的資訊。