/* 递归结构的二分查找 */
#include <iostream>
using namespace std;
int BSearch(int a[],int x,int low,int high);
void main()
{
while (1)
{
int a[]={1,3,4,5,17,18,31,33};
int x;
cin >> x;
int bn;
bn=BSearch(a,x,0,7);
if (bn==-1)cout<<"x不在数组a中!"<<endl;
else
cout<<"x在数组a的下标是:"<<bn<<endl;
}
}
int BSearch(int a[],int x,int low,int high)
{
int mid;
if(low>high)return -1; //查找不成功
mid=(low+high)/2;
if(x==a[mid])return mid; //查找成功
else if(x<a[mid])
BSearch(a,x,low,mid-1); //在下半区查找 //此处不用return!!
else
BSearch(a,x,mid+1,high); //在上半区查找
}
分享到:
相关推荐
二分查找算法,二分查找算法课件,二分查找算法PPT
二分查找算法
二分查找算法是查找算法中的一种效率比较高的查找算法,对于一段数组或者字符串的查找,效率可以更高。
Java 二分查找算法的示例代码。 欢迎访问个人博客。 http://blog.csdn.net/evanwang1987
C 语言中效率最高的查找方式,非常实用。...函数功能: 二分查找 入口参数: 待查找有序表的首地址 int *a 待查找的数据 int num 出口参数: 查找成功返回数据在有序表中的位置0 ~ n-1,不成功返回 -1
Java二分查找递归算法
多次二分查找算法的优化 方案,并且编写自动化测试程序,对其性能进行测试。
//文件名:exp9-2.cpp #include #define MAXL 100 //定义表中最多记录个数 typedef int KeyType; typedef char InfoType[10]; typedef struct { KeyType key;
java二分查找算法,用于普通的代码算法。。,。。
二分查找算法二分查找算法.txt
winform 二分查找算法源码! 很值得下载看看!资源免费,大家分享!!
分治法实现二分查找算法实现 分治法实现二分查找算法实现 分治法实现二分查找算法实现
二分查找算法是运用分治的典型例子:给定已按升序排好序的n个元素a[0:n-1],现要在这n个元素中找出一特定元素x。所以容易设计出二分搜索算法:在 a[0] [1] [n-1] 中搜索 x, 找到x时返回其在数组中的位置,否则返回-...
数据结构中简单的二分查找(折半查找)流程图实例
算法导论:二分查找算法。比较简单的算法,ACM QQ群里看到的,通俗易懂。