輸入n值(1<=n<=1000)、n個非降序排列的整數以及要查詢的數x,使用二分查詢演算法查詢x,輸出x所在的下標(0~n-1)及比較次數。若x不存在,輸出-1和比較次數。
輸入格式:
輸入共三行: 第一行是n值; 第二行是n個整數; 第三行是x值。
輸出格式:
輸出x所在的下標(0~n-1)及比較次數。若x不存在,輸出-1和比較次數。
輸入樣例:
41 2 3 4
1輸出樣例:02
作者陳曉梅
單位廣東外語外貿大學
**長度限制
16 kb
時間限制
400 ms
記憶體限制
64 mb
在這#include
using namespace std;
int count=0;
int a[
1001];
intfind
(int a,
int s,
int e,
int x)
else
}return-1
;}intmain()
cin>>x;
cout<<
find
(a,0
,n-1
,x)
3 2 二分查詢法
採用二分查詢法,在乙個排好序的陣列t 1 n 中查詢x,如果x在t中,輸出x在t的下標j 如果x不在t中,輸出j 0.二分查詢 查詢過程從陣列的中間元素開始,如果中間元素正好是要查詢的元素,則查詢過程結束 如果某一特定元素大於或者小於中間元素,則在陣列大於或小於中間元素的那一半中查詢,而且跟開始一樣...
迭代二分查詢二分查詢
在寫這篇文章之前,已經寫過了幾篇關於改迭代二分查詢主題的文章,想要了解的朋友可以去翻一下之前的文章 bentley在他的著作 writing correct programs 中寫道,90 的計算機專家不能在2小時內寫出完整確正的二分搜尋演算法。難怪有人說,二分查詢道理單簡,甚至小學生都能明確。不過...
1128 二分 二分查詢
時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述nettle最近在玩 艦 因此nettle收集了很多很多的船 這裡我們假設nettle氪了很多金,開了無數個船位 去除掉重複的船之後,還剩下n 1 n 1,000,000 種不同的船。每一艘船有乙個稀有值,任意兩艘船的稀有...