二分法查找算法 (递归)
2012-10-04 18:52
417 查看
有一由小到大排列的数组m[],数组大小为n,请用二分法查找算法找出与关键数key相等的元素,若查找成功返回元素在数组中的位置,没找到返回-1.
// 二分查找.cpp #include "stdafx.h" #include <string> int search(int m[],int key,int low,int high) { int mid=(low+high)/2; if (low>high) return -1; if (key==m[mid]) return mid; else if (key<m[mid]) return search(m,key,low,mid-1); else return search(m,key,mid+1,high); } void main() { int a[]={1,2,5,7,9,12,16}; int i,len; len=sizeof(a)/sizeof(a[0])-1; i=search(a,12,0,len); printf("%d\n",i); }
相关文章推荐
- 二分法递归查找与二分法查找,随机数产生,冒泡排序
- 漫谈递归:二分查找算法的递归实现
- 二分法查找(递归与非递归法)
- 算法--二分法查找Java代码
- 正确的二分法数据查找算法——百度百科里的那个算法是错误的
- 数据结构&算法(二)_算法基础之前传(递归、时间复杂度、空间复杂度、二分查找)
- 算法-二分法查找
- 查找算法之二分法查找(JAVA)
- 课后作业07--二分法查找算法代码
- 迭代用在有序数组二分法查找中,递归的二分法查找更简洁,但速度可能会慢一点
- 算法学习之查找(顺序、二分法、排序二叉树以及 Hash 表)
- Java查找算法之二分法查找
- 算法代码实现之二分法查找,Golang(Go语言)实现
- [学习笔记]排序算法之 二分法查找
- 二分法快速查找算法
- java学习-算法2--二分法查找
- 算法学习--二分法查找
- C++ 二分法查找操作 算法(4)
- 算法(第四版)学习笔记之二分查找的递归与非递归java实现
- 《数据结构与算法——C语言描述》答案 3.11 查找单链表中的特定元素(递归)