当前位置:   article > 正文

二分查找法(Java)_二分查找算法java代码

二分查找算法java代码

 代码实现

  1. import java.util.Arrays;
  2. import java.util.Scanner;
  3. public class HalfLookup {
  4. public static void main(String[] args) {
  5. //创建扫描器对象
  6. Scanner sc = new Scanner(System.in);
  7. //声明int数组,空间为10
  8. int[] array = new int[10];
  9. //分别接受数组下标首部,中间位,尾部
  10. int left = 0,mid = 0,right = array.length-1;
  11. //接收下标
  12. int index = -1;
  13. //输入数据放入数组中
  14. System.out.printf("请依次输入%d个数据->->->\n",10);
  15. for(int i = 0;i < array.length; i++){
  16. System.out.printf("请输入第%d个数据:",i+1);
  17. array[i] = sc.nextInt();
  18. }
  19. //将数组顺序排序才好二分查找
  20. Arrays.sort(array);
  21. //输出数组
  22. System.out.println("\n数组中数据如下->->->");
  23. for(int i = 0;i < array.length; i++){
  24. System.out.print(array[i]+"\t");
  25. }
  26. //数组.二分查找
  27. System.out.println("\n请输入需要查找的值:");
  28. int result = sc.nextInt();
  29. while(left <= right){
  30. mid = (left + right)/2;
  31. if(result < array[mid]){
  32. right = mid - 1;
  33. }
  34. else {
  35. if (result > array[mid]) {
  36. left = mid + 1;
  37. } else {
  38. index = mid;
  39. break;
  40. }
  41. }
  42. }
  43. if(index >= 0){
  44. System.out.printf("该%d在数组中的第%d个,索引值为array[%d]\n",result,index+1,index);
  45. }
  46. else{
  47. System.out.printf("很遗憾!%d不在该数组中!",result);
  48. }
  49. }
  50. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/977728
推荐阅读
相关标签
  

闽ICP备14008679号