二分查找(迭代和递归)
来源:互联网 发布:淘宝降价提醒"管理器 编辑:程序博客网 时间:2024/05/16 11:55
二分查找大一的时候写过,现在有些忘了,再写一遍备用。
迭代版本
#include<iostream>#include<algorithm>using namespace std;int binsearch(int a[],int n,int key){ int l=0,r=n-1; while(l<=r){ int m=(l+r)/2; if(a[m]==key) return m; else if(a[m]>key) r=m-1; else l=m+1; } return -1;}int main(){ int a[5]={5,3,8,7,4}; sort(a,a+5); cout<<binsearch(a,5,3); return 0;}
递归版本
#include<iostream>#include<algorithm>using namespace std;int bs(int s[],int l,int h,int key){ int m; if(l>h) return -1; else{ m=(l+h)/2; if(key==s[m]) return m; else if(key<s[m]) return bs(s,l,m-1,key); else return bs(s,m+1,h,key); }}int main(){ int s[5]={1,7,5,3,8}; sort(s,s+5); int l=0; int n=5; int h=n-1; cout<<bs(s,l,h,8); return 0;}
0 0
- 二分查找(迭代和递归)
- 二分查找(递归和普通迭代)
- 二分查找的递归实现和迭代实现
- 迭代和递归分别实现二分查找
- java实现二分查找(迭代与递归)
- 二分查找递归,迭代写法
- 两种二分查找方式(迭代和递归),今天又被广数鄙视了,唉
- 二分查找的递归与迭代实现
- 对分查找算法(迭代和递归方式)
- 二分查找(递归和非递归)
- java实现二分查找(迭代)
- 二分查找和递归的二分查找
- 二分递归查找和非递归查找
- 二分搜索算法(折半查找)原理以及递归(recuition),迭代(iteration)的两种实现源代码
- 二分搜索算法(折半查找)原理以及递归(recuition),迭代(iteration)的两种实现源代码
- 折半查找的c++模板递归和迭代实现
- 用PHP实现二分法查找之递归和迭代
- 二分查找算法递归和非递归实现(C++)
- Spring框架研究总结之IOC
- QMap 和 QHash 区别
- 用对象找出10个整形数组中的最大元素。
- VS2015安装Qt5的Add-in的问题与解决方案【记录贴】
- MySQL比like语句更高效的写法locate position instr find_in_set
- 二分查找(迭代和递归)
- 我的Latex中文报告模板
- 【从C到C++学习笔记】程序/结构化程序设计/面向对象的程序设计
- Mike and Shortcuts (CF bfs)
- java截取小数点前两位
- 立体视觉:算法与应用(一)
- 常用排序算法之桶式排序
- maven创建多模块工程
- SendMessage 自定义消息函数