題目描述
對於乙個有序陣列,我們通常採用二分查詢的方式來定位某一元素,請編寫二分查詢的演算法,在陣列中查詢指定元素。
給定乙個整數陣列a及它的大小n,同時給定要查詢的元素val,請返回它在陣列中的位置(從0開始),若不存在該元素,返回-1。若該元素出現多次,請返回第一次出現的位置。
測試樣例:
[1,3,5,7,9],5,3
返回:1
#include
#include
#include
using
namespace
std;
class binarysearch
else
if (a[mid] > val)
high = mid - 1;
else
if (a[mid] < val)
low = mid + 1;
}if (!tmp.empty())
else
return -1;
}};int main(void)
binarysearch *x = new binarysearch;
cout
system("pause");
return
0;}
選牛(二分查詢)
在一條座標軸上,有n頭奶牛,第i頭奶牛的位置是xi。fj現在要選出三頭奶牛去比賽,不妨假設選擇了奶牛a,b,c。那麼必須要滿足 1 xa xb xc。2 xb xa xc xb 2 xb xa 你的任務是計算,fj總共有多少種不同的選擇?輸入格式 第一行,乙個整數n。3 n 1000 接下來有n行,...
基礎程式設計 二分查詢
題目要求 本題要求實現二分查詢演算法。函式介面定義 position binarysearch list l,elementtype x 其中list結構定義如下 typedef int position typedef struct lnode list struct lnode l是使用者傳入的...
迭代二分查詢二分查詢
在寫這篇文章之前,已經寫過了幾篇關於改迭代二分查詢主題的文章,想要了解的朋友可以去翻一下之前的文章 bentley在他的著作 writing correct programs 中寫道,90 的計算機專家不能在2小時內寫出完整確正的二分搜尋演算法。難怪有人說,二分查詢道理單簡,甚至小學生都能明確。不過...