二分查找
来源:互联网 发布:新版淘宝怎么充话费 编辑:程序博客网 时间:2024/06/14 07:08
首先在使用二分查找之前必须明确二分查找针对的是有序数组,下面举一个简单的例子(如下图):
程序代码如下:
#include<stdio.h>int binary_search(int arr[],int key,int left,int right){int mid = left + (right - left) / 2;while (left <= right){if (arr[mid] < key){left = mid + 1;}else if (arr[mid]>key){right = mid + 1;}else{return mid;}}return -1;}int main(){int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };int key = 7;int sz = sizeof(arr) / sizeof(arr[0]);int ret = binary_search(arr, key, 3,9);if (ret==-1){printf("没找到!\n");}else{printf("%d ",ret);}return 0;}运行结果:
由此可知,程序运行结果和我们的理论结果一致!
阅读全文
1 0
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 1929-打印矩形
- java ssl https 连接详解 生成证书
- 马的走法
- Error inflating class com.ryanharter.viewpager.ViewPager 这个问题 尝试下面方法 解决 选择Build Path ->Configure Bui
- Linux入门笔记7. ubuntu上部署Nginx+uWSGI+Django
- 二分查找
- DOM节点删除之detach()和remove()区别
- hdu6060 一次就懂 dfs+思维 多校第三场1005
- codeforces 835D
- c++ string对象 空格替换
- HDU3231Box Relations【拓扑排序】
- day5-java&oracle总结
- Java中Integer和int的区别
- css样式、属性