有序表的折半查詢

2021-09-22 14:04:06 字數 490 閱讀 2694

輸入:

t(有序表中數的個數)

輸入t個數,按照大小順序輸入

key輸入需要查詢的數

輸出:如果有這個數則輸出這個數在有序表中是第幾個,否則輸出no!

input:

1  16  24  35  47  59  62  73  88  99

output:

no.7

#include#includeint binary_search(int *a,int n,int key)

return 0;

}int main()

scanf("%d",&key);

if(!binary_search(a,t,key))

printf("no!\n");

else

printf("no.%d\n",binary_search(a,t,key));

return 0;

}

折半查詢 有序表的查詢

平均查詢長度 logn typedef int keytype typedef structsstable int search bin sstable st,keytype key return 0 int main int argc,char argv printf nplease input ...

有序表的靜態查詢演算法 折半查詢

今天在看到資料結構 靜態表的查詢的時候,看到乙個演算法挺有意思,理解也 比較容易。這是乙個有序表的查詢演算法,比如 2,3,4,5,11,22,23,44,55,57,88 這樣的有序結構。折半查詢 binary search 的過程 先確定帶查記錄所在的範圍或者區間,然後逐步縮小範圍,直到找到或者...

折半查詢法(有序陣列)

在有序陣列中查詢時 從陣列的中間元素開始查詢,如果中間元素正好是要查詢的元素,則搜尋過程結束,如果所找元素大於 小於 中間元素,則在陣列大於 小於 中間元素的那一半中查詢,每一次跟開始一樣從中間元素開始比較。如果在某一步驟陣列為空,則代表找不到。這種搜尋演算法每一次比較都使搜尋範圍縮小一半,相對於遍...