`
f303153041
  • 浏览: 44859 次
社区版块
存档分类
最新评论

2分查找

阅读更多
//递归
public static int binarySearch(int array[],int val,int start,int end){
int mid  = (end-start)/2+start;
if(val  == array[mid]){
return mid;
}
if(start>=end){
return -1;
}
else if(val < array[mid]){
return binarySearch(array,val,start,mid-1);
}else if(val > array[mid]){
return binarySearch(array,val,mid+1,end);
}
return -1;
}
//循环
public static int binarySearch(int array[],int val){
int start = 0;
int end =  array.length-1;
int mid  = array.length/2;
if(val == array[mid]){
   return mid;
}
while(start<=end){
    mid = (end-start)/2+start;
if(val < array[mid]){
end   =  mid-1;
}else if(val > array[mid]){
start =  mid+1;
}else{
return mid;
}
}
return -1;
}
分享到:
评论

相关推荐

    采用2分查找法将PT100电阻值查表算出温度值

    采用2分查找法将PT100电阻值查表算出温度值

    数据结构2分查找

    学习C语言有好处,这里有我的专门的资料.

    可视化查找之二分查找

    简单地实现了二分查找的可视化。界面很简单就包括两个部分:界面左侧是可视化查找部分,右侧是二分查找的代码。 程序的关键点主要有两点: 1. 如何在页面上表示出查找程序的运行过程。 2. 如何将排序程序的运行...

    二分查找算法

    写出二分查找算法。给出一组有序的测试数据例如:1,3,4,7,8 查找有无3

    查找算法:二分查找、顺序查找

    查找算法:二分查找、顺序查找的实现 参见博客:http://blog.csdn.net/xiaowei_cqu/article/details/7748260

    数据结构实验——查找(二分查找&顺序查找)

    一、实验目的: 熟悉各种查找算法及其复杂性,能够根据实际情况选择合适的存储结构。 二、实验要求: 1、掌握查找的基本方法。 2、提交实验报告,报告...编程分别对有序顺序表的顺序查找,二分查找算法进行实现。

    分析二分查找成功时的平均查找长度

    设计一个程序,建立由有序序列R[0..n-1]进行二分查找产生的判定树,在此基础上完成如下功能: (1) 输出n=11时的判定树并求成功情况下的平均查找长度ASl (2) 通过构造判定树可以求得的成功情况下的平均查找长度...

    二分查找算法二分查找算法

    //文件名:exp9-2.cpp #include #define MAXL 100 //定义表中最多记录个数 typedef int KeyType; typedef char InfoType[10]; typedef struct { KeyType key;

    数据结构实验六(二分查找、Hash查找)题目和源程序

    1.二分查找又称为折半查找,它要求要查找的顺序表必须是有序表,即表中结点按关键字有序.并且要用顺序存储结构。 基本思想是:首先将给定值key与表中中间位置记录的关键字相比较,若二者相等,则查找成功,否则...

    二分查找法

    int BinSearch(SeqList R,int n,KeyType k) /*二分查找算法*/ { int low=0,high=n-1,mid,count=0; while (low) { mid=(low+high)/2; printf("第%d次查找:在[%d,%d]中查找到元素R[%d]:%d\n",++count,low,high,...

    二分查找算法C++,递归和迭代

    //二分查找 #include const int MAXN=10010; using namespace std; //二分查找,递归实现 int binarySearch(int a[],int low,int high,int key) { //查找某元素是否在数组中,若存在,则返回下标,否则...

    JavaScript实现二分查找实例代码

    二分查找的前提为:数组、有序。逻辑为:优先和数组的中间元素比较,如果等于中间元素,则直接返回。如果不等于则取半继续查找。 /** * 二分查找,递归实现。 * @param target * @param arr * @param start * ...

    二分查找Java实现

    while(low){ if(x==arr[mid]){ return mid; } else if(mid&gt;0&&x[mid]){... else if(mid){//若前面没有判断,则当要查找数超过arr数组中最大值时出现死循环。 low=mid+1; mid=(low+high)/2; }

    用线性表实现二分查找

    使用线性表的间接寻址( class IndirectList )方法,实现二分查找; 查找的数据由键盘输入; 输出线性表和查找的结果(包括次数);

    c/c++二分查找修改版

    s[middle] 关键字小于中值 继续二分查找 并将上限改为middle BinarySearch s x low middle 1 ; else 关键字大于中值 继续二分查找 并将下限改为middle BinarySearch s x middle + 1 high ;"&gt;if high &lt; low ...

    C# 二分查找代码

    C# 2005 二分查找 mid = (low + high) / 2; offset = mid * (DataLength + 2); sf.Seek(offset, SeekOrigin.Begin); sf.Read(cc, 0, DataLength); string sz = System.Text.Encoding.ASCII.GetString(cc, 0,...

    二分查找之网易笔试题

    网易笔试题中对于二分查找的应用,两份代码:1、二分查找的基础版本,2、网易笔试题的二分查找应用

    C语言程序设计实现二分查找算法

    《二分查找算法》 1)将二分查找元素算法分为三个部分输入元素、查找元素、进行判断! 2)如果查找的元素在原始的元素中找不到话可以进行判定是否进行重新输入,查找,可以选择拒绝1 3)输入原始元素使用升序输入,...

    数据结构试验 二分查找

    /* 实验任务: (1) 设计算法创建二叉排序树,按照中序遍历输出数据;查找指定元素,给出结点地址,给出比较次数。 (2) 采用除留余数函数实现散列(哈希)存储,某种方法解决冲突。 */

Global site tag (gtag.js) - Google Analytics