- 论坛徽章:
- 0
|
#include <stdio.h>
int bsearch( int n_search,int v[],int n);
int main(void)
{
int n_search;
int n;
int v[20];
int i;
n = 20;
n_search = 6;
i = 0;
while( i < 20 ){
v[i]=i+1;
++i;
}
if(bsearch(int n_search,int v[],int n ) == -1 )
printf( " without search " );
else
printf( " search numb = %d",bsearch( int n_search,int v[],int n) );
return 0;
}
int bsearch(int x, int v[],int n) {
int low, mid, high;
low = 0;
high = n - 1;
while ( low <= high ) {
mid = (low+high) / 2;
if ( x < v[mid] )
high = mid - 1;
else if ( x > v[mid] )
low = mid + 1;
else
return mid;
}
return -1;
} |
|