zoukankan      html  css  js  c++  java
  • 用java实现二分搜索<算法分析>

    实验目的:
    1、复习java编程;
    2、掌握二分搜索技术的基本原理;
    3、掌握使用java程序进行二分搜索的方法。
    实验步骤:
    1、由用户输入5个以上的整数;
    2、利用二分搜索算法完成对数组的搜索。

    package erfenfa;
    import java.util.Scanner;
    public class erfen 
    { 
    	static int key;
        public static void main(String[] args)
        { 
        	//数组的输入
        	System.out.println("请输入数组中的8个元素:");
        	int[] a=new int [8];
        	Scanner scan=new Scanner(System.in);
        	for(int i=0;i<8;i++)
        	{   
        		a[i]=scan.nextInt();
        	}
        	
        	//要查找的元素输入
        	System.out.println("请输入要查找的元素:");
        	 Scanner shu = new Scanner(System.in);
             key= shu.nextInt();
             
        	/*数组的输出提示*/
        	System.out.print("你输入的数组是:
    ");
        	for(int b=0;b<8;b++)
        	 {
        	    System.out.print("["+a[b]+"]");
    
        	 }
        	/*查找元素输出提示*/
        		System.out.print("
    你要查找的元素是:
    ");
        	    System.out.print(key);
        	    
        	/*最终结果的输出*/
               System.out.println("
    目标数的数组下标是:"+binSearch(a, 0, a.length - 1));  
        } 
        
        /*二分查找算法开始*/
        public static int binSearch(int a[], int left, int right) {   
            int mid = (right - left) / 2 + left;   
            if (a[mid] == key) {   
                return mid;   
            }   
            if (left >= right) {   
                return -1;  //在数组中没找到特定元素 
            } else if (key > a[mid]) {   
                return binSearch(a, mid + 1, right);   //如果查找的数在数组右半段
            } else if (key < a[mid]) {   
                return binSearch(a, left, mid - 1);   //如果查找的数在数组左半段
            }   
            return -1; //在数组中没找到特定元素
        }
        /*查找算法结束*/
    }
    

     结果如下:

     

  • 相关阅读:
    Iconfont在Vue中的使用
    yarn安装依赖报错
    动漫
    伤痛的魅力。绷带男子特辑
    记STM32F103C8T6+STLINK下载器在Keil中的设置
    JQuery浮动对象插件
    树莓派RTL8723BU_LINUX驱动安装
    python虚拟环境相关设置备忘
    解决树莓派控制台命令行乱码
    python模块wifi使用小记
  • 原文地址:https://www.cnblogs.com/soulsjie/p/6829463.html
Copyright © 2011-2022 走看看