二分查找(非递归)

来源:互联网 发布:淘宝网汽车拍卖平台 编辑:程序博客网 时间:2024/05/08 01:43
//在范围是[x,y]的数组A中查找关键字keyint bsearch( int A[], int x, int y, int key ){//初始情况 x < y int m;while( x < y )  {m = x + ( y-x ) / 2;    //根据x和y 的值二分出mif( A[m] == key ) return m;  //如果恰好在二分点else if( A[m] > key ) y = m;  //如果    x < key < melse  x = m+1; //如果    m < key < y}return -1;                            //数组A中不存在值 = key查找失败}

原创粉丝点击