二分算法C实现
来源:互联网 发布:windows仿mac dock栏 编辑:程序博客网 时间:2024/06/07 10:25
#include <stdio.h>#include <stdlib.h>#define NR(x) (sizeof(x)/sizeof(x[0]))int BinarySerach(int a[],int size,int p){int L = 0 ; //查找区间的左端点 int R = size - 1 ; //查找区间的右端点 int mid ;while(L <= R) //如果查找区间不为空就继续查找 {mid = L + (R-L)/2 ; //取到查找区间正中元素的下标 if(p == a[mid]) return mid ; //返回对应数组元素的下标else if(p > mid) L = mid + 1 ; //设置新的查找区间的左端点 else R = mid - 1 ; //设置新的查找区间的右端点 }return -1 ;}int main(void){ int a[9] = {1 , 2 ,3 , 4 , 5 , 6, 7 , 8 , 9}; int ret ; ret = BinarySerach(a,NR(a),8);//返回查找到的数组元素的下标 printf("ret:%d a[%d]:%d\n",ret,ret,a[ret]);return 0 ;}
运行结果:
0 0
- 二分算法C实现
- 二分查找算法的C/C++实现
- C语言实现二分查找算法
- C语言实现二分查找算法
- c语言实现二分搜索算法
- 二分查找算法的C语言实现
- c语言实现二分查找算法
- 用C语言实现二分查找算法
- C 二分查找算法
- c 二分查找算法
- [C]算法 - 二分查找
- C 二分查找算法
- C 二分查找算法
- 快速排序和二分查找算法的实现C语言
- 二分查找算法递归和非递归实现(C++)
- 二分插入排序算法的C/C++实现
- c语言实现的通用二分查找算法
- c/c++算法之正确实现二分查找
- sql函数操作
- 一念永恒 > 第八十四章 难以置信的爆发
- 一念永恒 > 第八十六章 又来这套……
- 一念永恒 > 第八十五章 他是……第一?
- spring 自动装配
- 二分算法C实现
- 关于安卓模拟器无法访问WebStorm网页问题
- Android Studio MAC版 代码提示快捷键
- Java MD5代码实现分析
- Hadoop2.6.4伪分布式安装
- <OJ_Sicily>生成字符串
- 腾讯17年暑期实习生笔试题 - 构造回文
- 面试:哈希:最长不同字符
- UEditor之实现配置简单的图片上传示例