用c语言实现二分查找的完整代码
时间: 2023-10-27 16:07:00 浏览: 61
以下是用C语言实现二分查找的完整代码:
```
#include <stdio.h>
#include <string.h>
int binary_search(int arr[], int k, int sz) {
//算法实现
int left=0;
int right=sz-1;
while(left<=right) {
int mid=(left+right)/2; //中间元素下标
if(arr[mid] < k) {
left=mid+1;
} else if(arr[mid] > k) {
right=mid-1;
} else {
return mid;
}
}
return -1;
}
int main() {
//二分查找
//在一个有序数组中查找具体的某个数
//如果找到了返回,这个数的下标,找不到的返回-1
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);
}
return 0;
}
```
以上代码实现了一个简单的二分查找算法,可以在一个有序数组中查找具体的某个数。如果找到了,返回这个数的下标,找不到则返回-1。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)