// l是使用者傳入的乙個線性表,其中elementtype元素可以通過》、==、《進行比較,
// 並且題目保證傳入的資料是遞增有序的。
// 函式binarysearch要查詢x在data中的位置,即陣列下標
// (注意:元素從下標1開始儲存)。
// 找到則返回下標,否則返回乙個特殊的失敗標記notfound。
while
(l<=r)
else
if(l-
>data[mid]
// 5
// 12 31 55 89 101
// 31
//**********==
//2// 3
// 26 78 233
// 31
//***************=
//0// position binarysearch( list l, elementtype x );
// l是使用者傳入的乙個線性表,其中elementtype元素可以通過》、==、《進行比較,
// 並且題目保證傳入的資料是遞增有序的。
// 函式binarysearch要查詢x在data中的位置,即陣列下標
// (注意:元素從下標1開始儲存)。
// 找到則返回下標,否則返回乙個特殊的失敗標記notfound。
position binarysearch
( list l, elementtype x )
else
if(l-
>data[mid]
else
}// if(l==r)else
if(l>r)
}
習題1 8 二分查詢 20分
習題1.8 二分查詢 20分 思路分析 核心是在已經排序好的數列中找到中位數,然後把要找的數和中位數比較,然後收縮左右邊界,最後找到那個數字。注意要判斷這個數是否在這個線性表中,找不到就返回 notfound 函式介面 define maxsize 10000 typedef int positio...
習題1 8 二分查詢 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...