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("你输入的数组是:\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; //在数组中没找到特定元素

}

/*查找算法结束*/

}

结果如下:

0e2db8549a250af249ec769bff50426f.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值