关于二分查找的基础请见我之前的博客。二分查找的实现
今天呢,我就和大家一起聊聊二分查找的函数实现。
随着我们水平的提升,我们越来越多的使用函数,使用函数不仅可以使我们的代码变得简洁,还可以使程序使程序流程结构化。
其实呢,函数实现二分查找呢,只需要将二分查找的核心部分拿出来包装为一个独立的函数即可。我们平时写代码的时候呢,函数部分尽可能写的功能单一,这里所说的单一是只函数部分只需要完成它所需要完成的任务即可,方便我们的调用。
主函数部分
- 首先定义一个有序数组
- 定义要查找的数(当然也可以稍作修改让用户输入)
- 求出数组长度(数组大小除以数组中一个元素的大小)
- 调用函数
- 根据返回值判断
int main()
{
int arr[] = {1,2,3,4,5,6,7,8,9,10};
int k = 7;
int sz = sizeof(arr)/sizeof(arr[0]);
int ret = binary_search(arr, k, sz);
if(ret == -1)
{
printf("找不到\n");
}
else
{
printf("找到了, 下标是:%d\n", ret);
}
system("pause");
return 0;
}
- 二分查找函数部分
切记:中点一定要定义在循环内部,因为每次判