java之折半查询

/**
* Created by rabbit on 2014-5-12.
*/

public class HalfSerach
{
    public
static void main(String[] args)
    {

        int [] arr =
{3,6,7,9,11,22,35};             
//设置arr数组并进行复制
        int index
=
halfsearch(arr,35);              
//调用折半查询对数组里的35进行查询
       
System.out.println("index " +  index);     
//输出查询结果
    }


public static int halfsearch(int [] arr,int key)
//开始创建折半查询方法
    {

        int
min,max,mid;                                 
//创建最小下标min,最大下标max。折半下标mid。

        min =
0;                                           
//最小下标为
        max =
arr.length-1;                            
//最大小标为arr.length-1
       
mid=(min+max)/2;                              
//折半下标为(最大下标和最小下标的和)的一半

while
(arr[mid]!=key)                     
//当选定要比较的下标值与折半下标不相同时
        {

            if
(key>arr[mid])                            
//如果选定下标大于折半下标

               
min=mid+1;                               
//最小下标移动到折半下标的下一下标处

            else if
(key<arr[mid])                      
//如果选定下标小于折半下标

               
max=mid-1;                               
//最大下标移动到折半下标的上一下标处

if
(min>max)                            
//如果最小下标比最大小标还大

               
return
-1;                                 
//返回-1;

           
mid=(min+max)/2;                          
//折半查询循环
        }

        return
mid;                                        
//当选定要比较的下标值与折半下标相同时,返回折半下标。

}


java之折半查询,布布扣,bubuko.com

时间: 2024-10-08 11:37:03

java之折半查询的相关文章

3. 蛤蟆的数据结构进阶三静态查询之折半查询

3. 蛤蟆的数据结构进阶三静态查询之折半查询 本篇名言:"但是话不行,要紧的是做. --鲁迅" 继续来看静态查询的折半查询. 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/47211637 1.  折半查找 折半查找要求查找表用顺序存储结构存放且各数据元素按关键字有序(升序或隆序)排列,也就是说折半查找只适用于对有序顺序表进行查找. 折半查找的基本思想是:首先以整个查找表作为查找范围,用查找条件中给定值k与中间位置

java之折半查找

//功能:二分查找import java.util.*; public class Demo1 {    public static void main(String[] args) {      int arr[]={2,5,7,12,25};//定义arr数组并赋值      System.out.print("请输入你需要查找的数:");      Scanner sr=new Scanner(System.in);      int a=sr.nextInt();      B

Java实现折半查找(二分法)

利用Java实现折半查找 基本思路:while递归循环,不断判断a[middle]是否等于data,如果等于则跳出循环,返回索引值,如果不等,则进行二分处理,直至两者相等为止:其中通过count计数器记录查找次数,当count次数超过20次时视为元素不存在(此处有待优化) package test; /* * 二分法查找(折半查找) * TGmoving * */ public class halfSearch { public static int HalfSearch(int a[],int

代写程序|java二叉树字典查询(qq 928900200)

This assignment will help you practice and understand better the Binary Tree and Binary Search Tree data structures, their operations and implementations. You are to design a small dictionary using the Binary Search Tree data structure. Each entry ma

查找元素在list中的位置以及折半查询

问题 查找某个值在list中的位置 解决思路 可以用折半查询的方法解决此问题. 解决(Python) #! /usr/bin/env python #coding:utf-8 #折半查找某个元素在list中的位置 def half_search(lst,value,left,right): length = len(lst) while left<right: middle = (right-left)/2 if lst[middle]>value: right = middle-1 elif

Java使用dom4j查询xml元素

1.Java使用dom4j查询xml元素: 1.1book.xml文件如下:<?xml version="1.0" encoding="UTF-8" ?> <books> <book>  <id>a1</id>  <name>疯狂Java讲义(附光盘)</name>  <author>李刚 编著</author>  <price>74.20<

FineReport实现java报表参数查询的效果图

Java报表-参数联动与自动查询 Java报表-大数据量查询 Java报表-动态列查询 Java报表-复选框多值查询 Java报表-供应商信息模糊查询 Java报表-库存查询每页显示固定 Java报表-下拉树与动态显示查询 Java报表-自定义时间段查询 FineReport实现java报表参数查询的效果图

Java 获取SQL查询语句结果

step1:构造连接Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db","root","123"); step2:构造语句String sql = "select username,password from t_user where

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等)

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等) 发布者:唛唛家的豆子 时间:2012-11-20 17:54:02 在JDBCPreparedStatement.executeQuery().getMetaData();后,我们可以通过ResultSetMetaData对象查询返回结果集的源数据信息,也就是表结构信息. 示例代码如下: package astar.sutil.db; import java.sql.Connection; import java.sql.Driv