返回列表 發帖

510-二分搜尋法

  1. import java.util.Scanner;
  2. public class JPD05 {
  3.     public static Scanner keyboard = new Scanner(System.in);
  4.    
  5.     public static void main(String[] argv) {
  6.         search();
  7.         search();
  8.     }
  9.    
  10.     public static void search() {
  11.         int[] data = {5, 9, 13, 15, 17, 19, 25, 30, 45}; // 已排序資料

  12.         System.out.print("請輸入要找尋的資料:");

  13.         int target = keyboard.nextInt();
  14.    
  15.         ...
  16.     }
  17. }
複製代碼
Stay hungry,
Stay foolish.

本帖最後由 張閎鈞 於 2018-9-25 20:38 編輯
  1. package hi87;

  2. import java.util.Scanner;

  3. public class hi787 {

  4.     public static Scanner keyboard = new Scanner(System.in);
  5.    
  6.     public static void main(String[] argv) {
  7.         search();
  8.         search();
  9.     }
  10.    
  11.     public static void search() {
  12.         int[] data = {5, 9, 13, 15, 17, 19, 25, 30, 45}; // 已排序資料

  13.         System.out.print("請輸入要找尋的資料:");

  14.         int target = keyboard.nextInt();
  15.     int start=0;
  16.     int end=data.length-1;
  17.     int mid;

  18.    
  19.    
  20.    
  21.    
複製代碼
張閎鈞OuO

TOP

package aasAA;

import java.util.Scanner;
public class JPD05 {
    public static Scanner k = new Scanner(System.in);
   
    public static void main(String[] argv) {
        search();
        search();
    }
   
    public static void search() {
        int[] data = {5, 9, 13, 15, 17, 19, 25, 30, 45}; // 已排序資料

        System.out.print("請輸入要找尋的資料:");

        int t = k.nextInt();
        int e=data.length-1;
        int s=0;
        int m=0;
        
        while(s<=e)
        {
                m=(s+e)/2;
                if(t<data[m])
                {
                        e=m-1;
                }
                else if(t>data[m])
                {
                        s=m+1;
                }
                else
                {
                        break;
                }
               
               
               
               
        }
         if(t==data[m])
         {
                 System.out.println("您要找尋的資料在第"+m+"的位置");
         }
         else
         {
                 System.out.println("不在裡面");
         }
    }
}

TOP

返回列表