c STL 二分查詢

2021-10-22 22:01:10 字數 668 閱讀 7515

人生第一篇部落格和大家分享一下上週周賽的一道題目二分查詢

題目如下:

e - 二分查詢(一)

蒜頭君手上有個長度為 n的陣列 a。由於陣列實在太大了,所以蒜頭君也不知道陣列裡面有什麼數字,所以蒜頭君會經常詢問整數 x是否在陣列 a 中。

輸入格式

第一行輸入兩個整數 n和 m,分別表示陣列的長度和查詢的次數。接下來一行有 n個整數 。接下來 m 行,每行有 1個整數 x,表示蒜頭君詢問的整數。

輸出格式

對於每次查詢,如果可以找到,輸出"yes",否則輸出"no"。

**解題思路 :**從題目就可以敏銳的注意到 二叉搜尋樹這個知識點又因為這是存數查詢。所以我就用到了 stl庫里的 set 。

**如下:

#include

#include

using

namespace std;

intmain()

for(

int i=

0;i)else

}return0;

}

這裡要注意幾點: 乙個是set 的標頭檔案 #include不能忘 另乙個是函式a.find()的用法 如果查詢的值在set集合裡會返回這個值否則則返回 a.end().

c stl 二分查詢

binary search a,a n,key 返回是否存在值bool型的 lower bound a,a n,key 下面兩個都是指標型的 upper bound a,a n,key 公升序排列的容器 lower bound const key type key 返回乙個迭代器,指向鍵值 key的...

C STL 二分查詢

自 二分查詢的函式有 3 個 參考 c lower bound 和upper bound lower bound 起始位址,結束位址,要查詢的數值 返回的是數值第乙個出現的位置。upper bound 起始位址,結束位址,要查詢的數值 返回的是數值最後乙個出現的位置。binary search 起始...

迭代二分查詢二分查詢

在寫這篇文章之前,已經寫過了幾篇關於改迭代二分查詢主題的文章,想要了解的朋友可以去翻一下之前的文章 bentley在他的著作 writing correct programs 中寫道,90 的計算機專家不能在2小時內寫出完整確正的二分搜尋演算法。難怪有人說,二分查詢道理單簡,甚至小學生都能明確。不過...