二分法查找升序长度为len的数组a中的target元素
查找成功则返回下标
否则,返回-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中文网!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号