Pages

Minggu, 21 November 2010

my own binary search

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package binarysearch;


//import java.util.Scanner;
import javax.swing.JOptionPane;


/**
 *
 * @author mashtree
 */
public class BinarySearch {


    static int[] f = {23, 32, 34, 37, 42, 45, 67, 74, 78, 86, 89, 90, 92, 94, 96, 97, 101, 103, 199};
    //public int v = 32;


    static void cari(int v) {
        int atas = (f.length + 1);
        int bawah = 1;
        boolean ketemu = false;


        for (int i = atas; i >= bawah; i--) {
            int tengah = (atas + bawah) / 2;
            if (v == f[tengah]) {
                //System.out.println("data " + v + " ada diurutan ke-" + (tengah + 1));
                JOptionPane.showMessageDialog(null, "data " + v + " ada diurutan ke-" + (tengah + 1));
                ketemu = true;
                break;
                //} else if (v != f[tengah]) {
                //JOptionPane.showMessageDialog(null, "data tidak ditemukan");
                // break;
            } else if (v < f[tengah]) {
                atas = tengah - 1;
            } else if (v > f[tengah]) {
                bawah = tengah + 1;
            }
        }


        if (ketemu == false) {
            JOptionPane.showMessageDialog(null, "data tidak ditemukan");
        }


        // JOptionPane.showMessageDialog(null, "data tidak ditemukan");
        //System.out.println("data tidak ditemukan");
    }


    public static void main(String[] args) {
        String input = JOptionPane.showInputDialog("masukkan nilai yang akan dicari!");
        int x = Integer.parseInt(input);
        cari(x);
    }
}

0 komentar:

Posting Komentar