zoukankan      html  css  js  c++  java
  • Java入门:一些初学者需要掌握的基础算法程序——二分查找

    本例演示如何通过二分算法查找一个链表中的指定元素。

    import java.util.Scanner;
    class BinarySearchExample
    {
       public static void main(String args[])
       {
          int counter, num, item, array[], first, last, middle;
          //To capture user input
          Scanner input = new Scanner(System.in);
          System.out.println("Enter number of elements:");
          num = input.nextInt(); 
    
          //Creating array to store the all the numbers
          array = new int[num];
    
          System.out.println("Enter " + num + " integers");
          //Loop to store each numbers in array
          for (counter = 0; counter < num; counter++)
              array[counter] = input.nextInt();
    
          System.out.println("Enter the search value:");
          item = input.nextInt();
          first = 0;
          last = num - 1;
          middle = (first + last)/2;
    
          while( first <= last )
          {
             if ( array[middle] < item )
               first = middle + 1;
             else if ( array[middle] == item )
             {
               System.out.println(item + " found at location " + (middle + 1) + ".");
               break;
             }
             else
             {
                 last = middle - 1;
             }
             middle = (first + last)/2;
          }
          if ( first > last )
              System.out.println(item + " is not found.
    ");
       }
    }

    输出1(找到):

    Enter number of elements:
    7
    Enter 7 integers
    4
    5
    66
    77
    8
    99
    0
    Enter the search value:
    77
    77 found at location 4.

    输出2(没找到):

    Enter number of elements:
    5
    Enter 5 integers
    12
    3
    77
    890
    23
    Enter the search value:
    99
    99 is not found.
  • 相关阅读:
    人工智能应用卷积神经网络对食道癌的诊断结果--笔记
    面向对象设计
    结构化软件测试----白盒测试技术
    内聚与耦合的实例分析
    图书预定系统
    SQL小技巧
    Keras中RNN、LSTM和GRU的参数计算
    Keras+Tensorboard
    Floyd算法
    生成随机整数
  • 原文地址:https://www.cnblogs.com/bayes/p/5344594.html
Copyright © 2011-2022 走看看