本題要求實現二分查詢演算法。
position binarysearch( list tbl, elementtype k );
其中list
結構定義如下:
typedef int position;
typedef struct lnode *list;
struct lnode ;
tbl
是使用者傳入的乙個線性表,其中elementtype
元素可以通過》
>
、===
=、<
<
進行比較,並且題目保證傳入的資料是遞增有序的。函式binarysearch
要查詢k
在tbl
中的位置,即陣列下標(注意:元素從下標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 tbl, elementtype k );
int main()
/* 你的**將被嵌在這裡 */
//**很簡單由於是函式題就沒有寫注釋
position binarysearch( list tbl, elementtype k )
else if(tbl->data[mid]data[mid]>k)
}return notfound;
}
6 10 二分查詢(20 分)
本題要求實現二分查詢演算法。函式介面定義 position binarysearch list l,elementtype x 其中list結構定義如下 typedef int position typedef struct lnode list struct lnode l是使用者傳入的乙個線性表...
6 1 二分查詢 (20 分)
本題要求實現二分查詢演算法。position binarysearch list l,elementtype x 其中list結構定義如下 typedef int position typedef struct lnode list struct lnode l是使用者傳入的乙個線性表,其中elem...
1 8 二分查詢 (20 分)
本題要求實現二分查詢演算法。position binarysearch list l,elementtype x 其中list結構定義如下 typedef int position typedef struct lnode list struct lnode l是使用者傳入的乙個線性表,其中elem...