C++ 二分查找 求最近的值
来源:互联网 发布:ear cuff淘宝 编辑:程序博客网 时间:2024/05/22 14:57
上代码:
<span style="font-size:18px;"> #include <iostream> #include <math.h>using namespace std;int BinarySearch(float *array, int aSize, float key){if ( array == NULL || aSize == 0 ) return -1;int low = 0;int high = aSize - 1;int mid = 0;int minIndex=0;int gap=abs(array[mid]-key); while ( low <= high ) { mid = (low + high )/2; if(gap>abs(array[mid]-key)){gap=abs(array[mid]-key);minIndex=mid;} if ( array[mid] < key){ low = mid + 1;} else if ( array[mid] > key ) { high = mid - 1; } else{ return (minIndex-1);} } }int main(){float array[6]={1.02,2.03,3.06,8.49,12.63,88.47};for(int i=0;i<sizeof(array)/sizeof(float);i++)cout<<array[i]<<" ";cout<<endl; cout<<"No recursive:"<<endl; cout<<"position:"<<BinarySearch(array, 4, 12.90)<<endl;system("pause"); return 0;}</span>
运行结果:
0 0
- C++ 二分查找 求最近的值
- java cpp py 实现 二分查找,如果没查找到,显示离代查找值最近的值
- Codeforces 689C-Mike and Chocolate Thieves(求下界的二分查找)
- 二分查找求下界
- 二分查找求平方根
- 二分查找离左边元素最近的(可以等于)
- C/C++:迭代器的简单二分查找
- 二分查找算法的C/C++实现
- 二分查找的C语言实现
- 二分查找算法的C语言实现
- 二分查找的巧妙运用(C++)
- c语言的二分查找简单实例
- 二分查找、三分查找求极点、二分求等比数列【模板】
- 二分查找求上界 下界
- 二分查找求上、下界
- 二分查找求上、下界
- 二分查找之求中值
- 求最大公约数,二分查找法
- 缓存DC
- Vim入门基础
- hdoj 2025 查找最大元素
- 二分匹配算法
- OC (三)
- C++ 二分查找 求最近的值
- zigzag数组
- numpy 画直方图
- poj 1094
- uva 10054(欧拉回路+并查集)
- Something about Vim
- linux内核中Kconfig及如何加自己的驱动
- POJ 1035 Spell checker
- maven jetty plug