折半查找
来源:互联网 发布:mysql bin.000004 编辑:程序博客网 时间:2024/06/06 16:51
/**折半查找:要求表顺序存储和元素关键字有序排列,适用于表不易变动且需频繁查找的情况。查找过程可以用一棵二叉树表示 实质是根据现有条件,不同的思路来剪枝,最终的效果是访问的事物少了 */ #include<iostream>using namespace std;//返回查找元素data的下标int find(int *a,int l,int r,int data) {while(l<=r) {int mid=(l+r)/2;if(a[mid]==data) {return mid;} else if(data>a[mid]) {l=mid+1;} else {r=mid-1;}}return -1;}//递归写法 int find_rec(int *a,int l,int r,int data){if(l>r)return -1;int mid=(l+r)/2;if(data==a[mid]){return mid;}else if(data<a[mid]){find_rec(a,l,mid-1,data);}else{find_rec(a,mid+1,r,data);}}int main() {int a[10]= {1,2,3,3,5,6,7,8,9,10};int index1=find(a,0,9,2);printf("index1=%d\n",index1);int index2=find_rec(a,0,9,2);printf("index2=%d\n",index2);return 0;}
阅读全文
0 0
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- Django--缓存与序列化
- 数据结构:线性表之静态链表
- SVN客户端的下载安装
- Latex 参考文献
- Ubuntu17.04 CUDA8.0 Cudnn v7 tensorflow1.3-GPU安装
- 折半查找
- Python Beautiful Soup库详解
- 225. Implement Stack using Queues
- JavaScript高程学习笔记之函数表达式(7)
- 【BZOJ4003】【JLOI2015】城池攻占(左偏树)
- 文章标题
- 干货!我开发 Android 是如何界面设计的
- 莫比乌斯入门:bzoj 1101 Zap(Mobius)
- 文章标题