中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

免費網(wǎng)站空間可訪問小網(wǎng)站怎么搜關(guān)鍵詞

免費網(wǎng)站空間可訪問,小網(wǎng)站怎么搜關(guān)鍵詞,網(wǎng)站建設(shè)和網(wǎng)站推廣,網(wǎng)站建設(shè)的技術(shù)有哪些lower_bound lower_bound 是 C 標(biāo)準(zhǔn)庫算法&#xff0c;通常用于有序序列中查找第一個不小于給定值的元素。它屬于 <algorithm> 頭文件&#xff0c;并且是基于二分查找實現(xiàn)的&#xff0c;因此要求輸入序列必須是有序的。 基本語法 #include <algorithm> // 引入算…

lower_bound

lower_bound 是 C++ 標(biāo)準(zhǔn)庫算法,通常用于有序序列中查找第一個不小于給定值的元素。它屬于 <algorithm> 頭文件,并且是基于二分查找實現(xiàn)的,因此要求輸入序列必須是有序的。

基本語法

#include <algorithm>  // 引入算法庫Iterator lower_bound(Iterator first, Iterator last, const T& value);
  • firstlast 是迭代器,分別表示容器的起始位置和結(jié)束位置(不包括 last)。

  • value 是要在容器中查找的目標(biāo)值。

  • 返回值是迭代器,指向第一個不小于 value 的元素。如果沒有找到符合條件的元素,返回 last

使用條件

  • 容器中的元素必須是有序的,通常是按非遞減順序(從小到大)排列的。

  • 如果容器無序,需要先對容器進(jìn)行排序,才能使用 lower_bound

返回值解釋

  • 如果找到一個元素,其值不小于 value,返回指向該元素的迭代器。

  • 如果所有元素都小于 value,返回 last,即容器的末尾。

示例代碼

示例 1:簡單查找
#include <iostream>
#include <vector>
#include <algorithm>  // 需要引入algorithmint main() {std::vector<int> v = {1, 2, 4, 4, 5, 8, 10};int value = 4;auto it = std::lower_bound(v.begin(), v.end(), value);if (it != v.end()) {std::cout << "第一個不小于 " << value << " 的元素是: " << *it << std::endl;} else {std::cout << "沒有找到不小于 " << value << " 的元素。" << std::endl;}return 0;
}

輸出

第一個不小于 4 的元素是: 4

在這個例子中,lower_bound 返回了指向值為 4 的第一個元素的迭代器。

示例 2:未找到的情況
#include <iostream>
#include <vector>
#include <algorithm>int main() {std::vector<int> v = {1, 2, 4, 4, 5, 8, 10};int value = 12;auto it = std::lower_bound(v.begin(), v.end(), value);if (it != v.end()) {std::cout << "第一個不小于 " << value << " 的元素是: " << *it << std::endl;} else {std::cout << "沒有找到不小于 " << value << " 的元素。" << std::endl;}return 0;
}

輸出

沒有找到不小于 12 的元素。

因為所有元素都小于 12,所以返回 v.end()。

注意事項

  1. 容器必須有序:如果容器未排序,lower_bound 的結(jié)果是未定義的。

  2. 時間復(fù)雜度:由于使用二分查找,時間復(fù)雜度為 O(logn),其中 n 是容器中元素的數(shù)量。

  3. 自定義比較函數(shù):如果需要使用自定義的順序規(guī)則,可以提供一個比較函數(shù)作為參數(shù),例如

    auto it = std::lower_bound(v.begin(), v.end(), value, custom_compare);

    其中 custom_compare 是一個函數(shù)對象,接收兩個元素作為參數(shù),返回一個布爾值,用于定義排序規(guī)則。

lower_bound 是一個非常實用的函數(shù),特別適合在有序數(shù)據(jù)中進(jìn)行高效的查找操作。

upper_bound

upper_bound 是 C++ 標(biāo)準(zhǔn)庫中的一個算法函數(shù),與 lower_bound 類似,它也用于有序序列中查找特定值的位置,但功能略有不同。upper_bound 用于查找第一個大于給定值的元素的位置。它同樣基于二分查找實現(xiàn),因此要求輸入序列必須是有序的。

基本語法

#include <algorithm>  // 引入算法庫Iterator upper_bound(Iterator first, Iterator last, const T& value);
  • firstlast 是迭代器,分別表示容器的起始位置和結(jié)束位置(不包括 last)。

  • value 是要在容器中查找的目標(biāo)值。

  • 返回值是迭代器,指向第一個大于 value 的元素。如果沒有找到符合條件的元素,返回 last。

使用條件

  • 容器中的元素必須是有序的,通常是按非遞減順序(從小到大)排列的。

  • 如果容器無序,需要先對容器進(jìn)行排序,才能使用 upper_bound。

返回值解釋

  • 如果找到一個元素,其值大于 value,返回指向該元素的迭代器。

  • 如果所有元素都小于或等于 value,返回 last,即容器的末尾。

示例代碼

示例 1:簡單查找
#include <iostream>
#include <vector>
#include <algorithm>  // 需要引入algorithmint main() {std::vector<int> v = {1, 2, 4, 4, 5, 8, 10};int value = 4;auto it = std::upper_bound(v.begin(), v.end(), value);if (it != v.end()) {std::cout << "第一個大于 " << value << " 的元素是: " << *it << std::endl;} else {std::cout << "沒有找到大于 " << value << " 的元素。" << std::endl;}return 0;
}

輸出

第一個大于 4 的元素是: 5

在這個例子中,upper_bound 返回了指向值為 5 的元素的迭代器。

示例 2:未找到的情況
#include <iostream>
#include <vector>
#include <algorithm>int main() {std::vector<int> v = {1, 2, 4, 4, 5, 8, 10};int value = 12;auto it = std::upper_bound(v.begin(), v.end(), value);if (it != v.end()) {std::cout << "第一個大于 " << value << " 的元素是: " << *it << std::endl;} else {std::cout << "沒有找到大于 " << value << " 的元素。" << std::endl;}return 0;
}

輸出

沒有找到大于 12 的元素。

因為所有元素都小于或等于 12,所以返回 v.end()。

注意事項

  1. 容器必須有序:如果容器未排序,upper_bound 的結(jié)果是未定義的。

  2. 時間復(fù)雜度:由于使用二分查找,時間復(fù)雜度為 O(logn),其中 n 是容器中元素的數(shù)量。

  3. 自定義比較函數(shù):如果需要使用自定義的順序規(guī)則,可以提供一個比較函數(shù)作為參數(shù),例如

    auto it = std::upper_bound(v.begin(), v.end(), value, custom_compare);

    其中 custom_compare 是一個函數(shù)對象,接收兩個元素作為參數(shù),返回一個布爾值,用于定義排序規(guī)則。

  4. lower_bound 的區(qū)別

    • lower_bound 返回第一個不小于給定值的元素。

    • upper_bound 返回第一個大于給定值的元素。

    • 如果容器中存在多個相同的值,lower_bound 會返回第一個等于該值的元素,而 upper_bound 會返回第一個大于該值的元素。

應(yīng)用場景

upper_bound 常用于以下場景:

  • 在有序序列中查找第一個大于某個值的元素。

  • 用于實現(xiàn)區(qū)間查找,例如結(jié)合 lower_boundupper_bound 來查找某個值的范圍。

http://www.risenshineclean.com/news/22039.html

相關(guān)文章:

  • 做網(wǎng)站引流的最佳方法四川自助seo建站
  • 企業(yè)網(wǎng)站推廣的收獲與啟示軟件開發(fā)培訓(xùn)學(xué)校
  • 中國企業(yè)招聘網(wǎng)seo外鏈技巧
  • w網(wǎng)站開發(fā)文獻(xiàn)百度投訴中心在線申訴
  • 紹興優(yōu)秀做網(wǎng)站的蘇州網(wǎng)站維護(hù)
  • it行業(yè)做網(wǎng)站一個月多少錢中國推廣網(wǎng)站
  • 用ecshop的網(wǎng)站西地那非片能延時多久有副作用嗎
  • 網(wǎng)站推廣方案途徑網(wǎng)站設(shè)計公司怎么樣
  • ubuntu apache php mysql wordpress某個網(wǎng)站seo分析實例
  • 網(wǎng)頁設(shè)計站點規(guī)劃蘇州seo營銷
  • 免費的網(wǎng)頁設(shè)計成品詳解seo黑帽教學(xué)網(wǎng)
  • 大連省建設(shè)廳網(wǎng)站seo研究中心教程
  • 網(wǎng)站建設(shè)企業(yè) 熊賬號aso優(yōu)化app推廣
  • 北京網(wǎng)站建設(shè)天下公司網(wǎng)絡(luò)推廣營銷方式
  • 如何在建設(shè)銀行網(wǎng)站查驗回單全國免費發(fā)布信息平臺
  • 做網(wǎng)站賺幾百萬媒體網(wǎng)站
  • wordpress添加搜索插件北京seo顧問服務(wù)
  • 本網(wǎng)站服務(wù)器設(shè)在美國服務(wù)器保護(hù)友情鏈接交易平臺源碼
  • 網(wǎng)站備案和服務(wù)器備案嗎北京seo站內(nèi)優(yōu)化
  • 備案號鏈接工信部網(wǎng)站免費創(chuàng)建個人博客網(wǎng)站
  • 江蘇建設(shè)集團(tuán)有限公司董事長seo網(wǎng)絡(luò)排名優(yōu)化方法
  • 濟(jì)寧網(wǎng)站建設(shè)神華科技推廣網(wǎng)站多少錢
  • 購物網(wǎng)站建設(shè) 屬于信息系統(tǒng)管理與設(shè)計么?百度網(wǎng)頁入口
  • 高端網(wǎng)站制作上海軟文素材
  • 網(wǎng)站集成微信登錄seo數(shù)據(jù)
  • 網(wǎng)站建設(shè)建設(shè)百度學(xué)術(shù)論文查重官網(wǎng)
  • wordpress 軍事主題快速網(wǎng)站排名優(yōu)化
  • 云南網(wǎng)站設(shè)計外包注冊公司流程和費用
  • 萊蕪區(qū)宣傳部網(wǎng)站seo排名優(yōu)化
  • 網(wǎng)站什么也沒動怎么不收錄啦免費入駐的電商平臺