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.
  • 相关阅读:
    fill 全解(转)
    解题报告 疯狂的馒头
    解题报告 报数
    解题报告 noi 2005 智慧珠游戏(BT 搜索)
    解题报告 跑步
    解题报告 Punch
    解题报告 纪念日
    解题报告 新兵站队
    转载:让理科生沉默,让文科生流泪的综合题
    解题报告 信号放大器
  • 原文地址:https://www.cnblogs.com/bayes/p/5344594.html
Copyright © 2011-2022 走看看