回覆列表
  • 1 # 使用者8209154827005

      進行二分查詢的前提是陣列已排序,這裡假定陣列遞增排序。

      每次查詢都將待查詢數num與處於陣列中間位置a[mid]的數進行比較,num

      在函式中使用low, mid, high來對待查詢的範圍來進行標記。

      參考程式碼如下:

    /*整數查詢*/

    void binsearch( int num, int a[], int length ) /*num為待查詢數字,length為陣列a的長度*/

    {

    int low, mid, high;

    low = 0;

    high = length - 1;

    while( low

    {

    mid = ( low + high ) / 2;

    if( a[mid] > num )

    high = mid - 1;

    else if( a[mid]

    low = mid + 1;

    else

    return mid;

    }

    return -1 /*未查詢到num返回-1*/

    }

  • 中秋節和大豐收的關聯?
  • ERR怎麼解決,地磅ERR是什麼意思?