6 1 二分查詢 20分 PTA 資料結構

2021-10-13 02:59:58 字數 1331 閱讀 1132

本題要求實現二分查詢演算法。

函式介面定義:

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:

5

1231

5589

10131

輸出樣例1:

2
輸入樣例2:

3
26 78 233

31
輸出樣例2:

0
position binarysearch

( list l, elementtype x )

return notfound;

}

(普通的順序查詢居然也能過)

position binarysearch

( list l, elementtype x )

}return notfound;

}

6 1 二分查詢 (20 分)

本題要求實現二分查詢演算法。position binarysearch list l,elementtype x 其中list結構定義如下 typedef int position typedef struct lnode list struct lnode l是使用者傳入的乙個線性表,其中elem...

PTA 6 10 二分查詢 20分

position binarysearch list l,elementtype x 其中list結構定義如下 typedef int position typedef struct lnode list struct lnode l是使用者傳入的乙個線性表,其中elementtype元素可以通過 ...

PTA 二分查詢

題目 輸入n值 1 n 1000 n個非降序排列的整數以及要查詢的數x,使用二分查詢演算法查詢x,輸出x所在的下標 0 n 1 及比較次數。若x不存在,輸出 1和比較次數。輸入格式 輸入共三行 第一行是n值 第二行是n個整數 第三行是x值。輸出格式 輸出x所在的下標 0 n 1 及比較次數。若x不存...