二分法查找数组中的元素
程序员文章站
2022-03-10 17:48:55
...
二分法查找升序长度为len的数组a中的target元素
查找成功则返回下标
否则,返回-1
查找成功则返回下标
否则,返回-1
#include <stdio.h> int print_num( int num ) { printf( "print_num() num = %d\n", num ); return 0; } typedef int ( *type_print_num_func )( int num ); /* 二分法查找升序长度为len的数组a中的target元素 查找成功则返回下标 否则,返回-1 */ int bsearch( int *a, int len, int target ) { int low = 0, high = len, mid; /*查找开始*/ while( low <= high ) { mid = ( low + high )/2; if( *( a + mid ) == target ) return mid; else if( *( a + mid ) < target ) low = mid + 1; else high = mid - 1; } return -1; } int main( int argc, char *argv[] ) { type_print_num_func func; int ( *func2 )( int num ); print_num( 1 ); func = print_num; func( 2 ); func2 = print_num; func2( 3 ); system( "pause" ); return 0; }
更多二分法查找数组中的元素相关文章请关注PHP中文网!