已排序数组,用二分法查找,谁给个例子?

解决方案 »

  1.   

    Arrays.binarySearch(..)如果自己写的话,先查找n/2,比较大小,决定找前一半,还是后一半,再找那一半的中间位置,一直找到你要找的
      

  2.   

    static int BinSearch(char[] a, char b)
        {
            int low = 0;
            int high = a.Length - 1;
            int mid;
            while (low <= high)
            {
                mid = (low + high) / 2;
                if (a[mid] == b)
                    return mid;
                else if (a[mid] > b)
                    high = mid - 1;
                else
                    low = mid + 1;
            }
            return -1;
        }