二分法查詢

2021-10-01 08:01:47 字數 1098 閱讀 4556

函式介面定義:

position binarysearch( list l, elementtype x );
其中list結構定義如下:

typedef

int position;

typedef

struct lnode *list;

struct lnode

;

l是使用者傳入的乙個線性表,其中elementtype元素可以通過》、==、《進行比較,並且題目保證傳入的資料是遞增有序的。函式binarysearch要查詢x在data中的位置,即陣列下標(注意:元素從下標1開始儲存)。找到則返回下標,否則返回乙個特殊的失敗標記notfound。

裁判測試程式樣例:

#include

#include

#define maxsize 10

#define notfound 0

typedef

int elementtype;

typedef

int position;

typedef

struct lnode *list;

struct lnode

;list readinput()

;/* 裁判實現,細節不表。元素從下標1開始儲存 */

position binarysearch

( list l, elementtype x )

;int

main()

/* 你的**將被嵌在這裡 */

輸入樣例1:

512 31 55 89 101

31輸出樣例1:

2輸入樣例2:

326 78 233

31輸出樣例2:

0

position binarysearch

( list l, elementtype x )

else

if(l->data[middle]

>x)

else

}return notfound;

}

C 二分法查詢,遞迴二分法

用二分法來求需要查詢的值.includeusing namespace std 查詢key元素是否存在 int findkey const int buf 100 const int ilen,const int key else right left mid 1 查詢失敗 return 1 查詢k...

python二分法查詢 Python 二分法查詢

二分法查詢主要的作用就是查詢元素 lst 1,3,5,7,12,36,68,79 資料集 百萬級資料 num int input 請輸入你要查詢的元素資訊 for el in lst if num el print 存在 break else print 不存在 len lst 0 1 2 3 4 ...

二分法查詢

前幾天csdn上說只有10 程式設計師能寫出正確的二分法查詢 so.我在看過二分法查詢方法後寫了乙個 一次測試成功.範圍 需要次數 10 4 100 7 1000 10 10000 14 100000 17 1000000 20 除了對特別小的陣列外,二分法查詢表現是非常優秀的.每次對範圍加倍可以建...