实验目的:
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("你输入的数组是:\n");
    	for(int b=0;b<8;b++)
    	 {
    	    System.out.print("["+a[b]+"]");

    	 }
    	/*查找元素输出提示*/
    		System.out.print("\n你要查找的元素是:\n");
    	    System.out.print(key);
    	    
    	/*最终结果的输出*/
           System.out.println("\n目标数的数组下标是:"+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; //在数组中没找到特定元素
    }
    /*查找算法结束*/
}

 结果如下:

用java实现二分搜索<算法分析>

 用java实现二分搜索<算法分析>

 

相关文章:

  • 2022-02-21
  • 2021-07-09
  • 2021-10-11
  • 2021-05-27
  • 2022-12-23
  • 2022-12-23
  • 2022-01-05
  • 2022-12-23
猜你喜欢
  • 2021-07-02
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-26
  • 2022-12-23
相关资源
相似解决方案