代码改变世界

二分查找

2012-04-18 12:45  aivj  阅读(165)  评论(0)    收藏  举报

 /** 二分查找算法     * 从开始位置 low 到结束位置 high 的查找表 arr 中查找值为 key的记录     * 若存在,返回该元素所在的下标;     * 否则,返回 -1     */     public int binarySearching(string[] arr, int low, int high, int key)     {         int mid;

        while (low <= high)         {             mid = (low + high) / 2;             if (Convert.ToInt32(arr[mid]) == key)     //找到                 return mid;             else if (Convert.ToInt32(arr[mid]) > key)    //在左边部分继续查找                 high = mid - 1;             else        //在右边部分继续查找                 low = mid + 1;         }         return -1;     }