Binary Search in Array

前端 未结 5 519
生来不讨喜
生来不讨喜 2020-11-27 05:40

How would I implement a binary search using just an array?

5条回答
  •  温柔的废话
    2020-11-27 06:43

    The single comparison version is fast and concise

    int bsearch_double(const double a[], int n, double v) {
      int low = 0, mid;
      while (n - low > 1) {
        mid = low + (n - low) / 2;
        if (v < a[mid]) n   = mid;
        else            low = mid;
      }
      return (low < n && a[low] == v) ? low : -1;
    }
    

提交回复
热议问题