折半查找
2015-06-28 10:08
232 查看
1.折半查找的非递归算法
2.折半查找的递归算法
int BinarySearch(SeqList &L,DataType x) { int high=L.n-1,low=0,mid; while(low<=high){ mid=(low+high)/2; if(x.key>L.data[mid].key) low=mid+1; else if(x.key<L.data[mid].key high=mid-1; else return mid; } return -1; };
2.折半查找的递归算法
int BinarySearchRecur(SeqList& L,DataType x,int low,int high){ int mid=-1; if(low<=high){ mid=(low+high)/2; if(x.key>L.data[mid].key) mid=BinarySearchRecur(L,x,mid+1,high); else if(x.key<data[mid].key) mid=BinarySearchRecur(l,x,low,mid-1); } return mid; };
相关文章推荐
- 快速幂取余
- jsp显示java后台的异常
- 【Hadoop】7、Hadoop1.2.1基于虚拟机中的CentOS6.6的Hadoop单节点安装
- 面试题10:二进制中1的个数
- .net 开发必备小抄(电子书)
- UVa - 1622 - Robot
- 异常处理的随笔
- UVa - 1622 - Robot
- STM32关于uversion版本更换和MCU型号更换编译出错的解决办法、记录。
- 大数据算法学习笔记(1):定义与特点
- 如果分配给命令的连接位于本地挂起事务中,ExecuteNonQuery 要求命令拥有事务。命令的 Transaction 属性尚未初始化
- PL/SQL异常处理方法
- Web.Config文件中添加数据库配置文件
- android 自定义自定义圆角dialog,消除黑色window背景
- C#索引属性用法实例分析
- Use Cursor
- 设计模式之访问者模式
- Android 通过WebService进行网络编程,使用工具类轻松实现
- Hibernate get和load区别
- 欧拉函数代码实现