2分探索

次の
「昇順の配列 a[left] 〜 a[right] から数値 x を2分探索する関数 bsearch
(x がaにあればその要素番号を,なければ -1 を返す)」
の誤りを訂正しなさい.



int bsearch(int a[], int left, int right, int x)
{
   int mid;

   if (left == right)    return -1;
   mid = ( right - left ) / 2;
   if (a[mid] == x)    
      return mid;
   else if (x < a[mid])
      return bsearch(a, left, mid, x);
   else 
      return bsearch(a, mid, right, x);
}

採点結果

すべて訂正したら解答ボタンを押してください.



蜂巣吉成 <hachisu (at) se.nanzan-u.ac.jp>