java中折半查找思想_java折半查找法

java中折半查找思想_java折半查找法折半查找法是效率较高的一种查找方法 假设有已经按照从小到大的顺序排列好的五个整数 a0 a4 要查找的数是 X 其基本思想是 设查找数据的范围下限为 l 1 上限为 h 5 求中点 m l h 2 用 X 与中点元素 am 比较 若 X 等于 am 即找到 停止查找 否则 若 X 大于 am 替换下限 l m 1 到下半段继续查找 若 X 小于 am 换上限 h m 1 到上半段继续查找 如此重复前面的过程直到找到或者 l gt h

折半查找法是效率较高的一种查找方法。假设有已经按照从小到大的顺序排列好的五个整数a0~a4,要查找的数是X,其基本思想是: 设查找数据的范围下限为l=1,上限为h=5,求中点m=(l+h)/2,用X与中点元素am比较,若X等于am,即找到,停止查找;否则,若X大于am,替换下限l=m+1,到下半段继续查找;若X小于am,换上限h=m-1,到上半段继续查找;如此重复前面的过程直到找到或者l>h为止。如果l>h,说明没有此数,打印找不到信息,程序结束。

方法一:

package suanfa;

import java.util.*;

public class zheban {

public static void main(String[]args)

{

int[]a={1,3,6,8,9,89,765};

int time=search(a,8);

System.out.println(time);

}

public static int search(int[]a,int key)

{

int low=1;

int high=a.length;

int mid;

while(low

{

mid=(low+high)/2;

if(key==a[mid-1])

return mid-1;

else if(key>a[mid-1])

low=mid+1;

else

high=mid-1;

}

return 0;

}

}

方法二:

package m;

import java.util.*;

public class zheban {

public static int[]data={1,3,5,7,9,11,22,44,67,89};

public static void main(String[]args)

{

System.out.println(“please enter the data you will find:”);

Scanner scan=new Scanner(System.in);

int key=scan.nextInt();

zheban(key,0,9);

}

public static boolean zheban(int key,int low,int high)

{

int l=low;

int h=high;

int mid;

while(l

{

mid=(l+h)/2;

if(data[mid]==key)

{

System.out.println(“find “+”the data is in array “+(mid+1));

return true;

}

else if(key

h=mid-1;

else if(key>data[mid])

l=mid+1;

}

System.out.println(“failed”);

return false;

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220131.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午9:10
下一篇 2026年3月17日 下午9:10


相关推荐

  • 小甲鱼零基础入门学习python笔记

    小甲鱼零基础入门学习python笔记小甲鱼老师零基础入门学习Python全套资料百度云(包括小甲鱼零基础入门学习Python全套视频+全套源码+全套PPT课件+全套课后题及Python常用工具包链接、电子书籍等)请往我的资源(https://download.csdn.net/download/qq_32809093/11528609)查看000愉快的开始python跨平台。应用范围:操作系统、WEB、3D动画、企业应用…

    2022年6月6日
    45
  • Mac联网恢复系统重新安装Lion

    Mac联网恢复系统重新安装LionMac 的 Lion 系统 虽然不像 Windows 那样需要经常重装 但也难免会有要重置的时候 比如更换硬盘 本文介绍如何利用 Mac 的联网恢复系统进行 Lion 系统的在线恢复 Mac 的在线恢复系统只在近几年的机型上才有 在进行系统恢复前 请您先备份好硬盘中的数据 恢复步骤 1 按开机按钮后 按住 Option 键不放 当出现启动磁盘选择画面时 按下 Command R 键 进入 Recov

    2026年3月18日
    2
  • uploadify上传文件出现http302错误

    uploadify上传文件出现http302错误这两天在做注册页面的时候遇到的问题 uploadify 在上传图片时 提示 http302 错误 百度了一圈都说是 sessionid 的问题 传一个 sessionid 过去就可以了 但是发现 sessionid 带过去也没有用 302 是重定向了 即你 upload 的处理上传的方法中需要 session 值 一般是你处理上传的方法需要登录验证 建议放到不需要验证的方法 或者传一个验证登录所需要的 session 值

    2026年3月18日
    2
  • SVN下载安装及使用教程「建议收藏」

    SVN下载安装及使用教程「建议收藏」SVN简介:为什么要使用SVN?程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本。Subversion是什么?

    2022年7月1日
    32
  • 如何利用Manus生成高质量的文本内容:技术解析与实践指南

    如何利用Manus生成高质量的文本内容:技术解析与实践指南

    2026年3月15日
    3
  • javascript如何实现页面跳转_跳转页面的代码

    javascript如何实现页面跳转_跳转页面的代码JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能。下面我们来看一下如何使用JavaScript跳转页面。JavaScript中几种页面跳转的方法:window.location.href=’url’:比较常用的方法,直接跟指定要跳转的地方。window.history.back(-1);:参见的浏览器返回上一个已访问的页面,直到访…

    2022年8月12日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号