二分查找(有序数组)

二分查找  有序数组

int mid = (low + high)/2;

if (a [mid] == key) {

                Console.WriteLine ("find key,index", mid);

                 return mid;                                  //返回值 mid

} else if (a[mid] > key) {

                  high = mid - 1;

} else if (a[mid] < key) {

                  low = mid + 1;

}


int[] arr = {1,2,3,4,5,6,7,8 };

int low = 0, hight = arr.Length - 1;          //定义第一位和最后一个的下标

int key = 7;

while (low <= hight) {

                   int mid = (low + hight) / 2;

                   if (arr[mid] == key) {

                                 Console.WriteLine ("find,index="+mid);         //找到,下标为 :

                                 break;

                   }else if (arr[mid]>key) {

                                 hight = mid - 1;

                   }else if (arr[mid]

                                 low = mid + 1;

                   }

}

if (low > hight){

     Console.WriteLine ("404");

}

你可能感兴趣的:(二分查找(有序数组))