查找
2016-03-14 15:44
369 查看
[b]一.二分查找[/b]
#include<iostream> using namespace std; template <typename T> int BinarySearch(T A[], int start, int end, T k) { if (A == NULL || start < 0 || end < 0 || start > end) { return -1; } int mid = (start + end) / 2; if (A[mid] == k) { return mid; } else if (A[mid] > k) { return BinarySearch(A, start, mid - 1, k); } else { return BinarySearch(A, mid + 1, end, k); } } int main() { double A[] = { -10, -2.1, 1.1, 2.6, 3, 3, 4, 6}; cout << BinarySearch(A, 0, 7, 6.0); // 7 cout << endl; return 0; }
相关文章推荐
- 树、图与二分图的转换
- Android Studio 导入jar包和第三方开源库方法
- 7种php基本排序实现方法
- leetcode 263. Ugly Number
- Android开发之播放视频
- FTxxxx系列------变量初始化buf失败
- Perl正则表达式总结_3
- Android开发&HTML5+App
- css3中-moz、-ms、-webkit分别代表的意思
- 关于 overridePendingTransition()使用
- Java编程思想(一):大杂烩
- 配置ssh的双机信任
- 侯捷《深入浅出MFC》中“Hello, MFC”如何改写到VS2012中
- 线程的睡眠与唤醒
- Exchange 2016 混合部署后的测试工作
- 使用UEditor在门户中添加公告
- I2C Tools 学习笔记
- 在Mac中配置Android的环境变量
- 永不执行的代码warning处理
- Android Studio使用butterknife注解框架插件Android Butterknife Zelezny