題組內容
一、
⑴假設要搜尋已排序的陣列 list[left], list[left+1], …, list[right],請完成下列二分搜尋 (Binary Search)法的遞移(iterative)C 語言程式,其中 searchnum 代表要搜尋 的資料。(10 分) int binsearch(int list[ ], int serachnum, int left, int right) { int middle; while( (a) ) { middle = (left + right) / 2; if( list[middle] == searchnum) return (b) ; else if( list[middle] < searchnum ) (c) ; else (d) ; } return (e) ; /* 找不到資料 */
詳解 (共 2 筆)
詳解
修正樓上的
(a) left<right
(a) left<right
(b) middle
(c) binsearch(list[],searchnum,middle+1,right)
(d) binsearch(list[],searchnum,left,middle-1)
(e) -1
詳解
(a) left<right
(b) middle
(c) left++
(d) right--
(e) -1