You are on page 1of 2

Binary_search.

java

1 import java .util .Scanner;


2 public class Binary_search {
3 static int a [];
4
5 static Scanner scan = new Scanner (System.in) ;
6
7 public static void main (String args[]){
8 System.out.println("Hello I'm binary search my operation basic is sorted array &
search on vlaue ");
9 System.out.println("");
10 System.out.println("Time efficiency in sort : O(n^2) , Time efficiency in binary
search : O(log n) So Time efficiency : O(n^2) & space efficiency : O(1)");
11 System.out.println("");
12 System.out.println( "Pleas enter size array " );
13 System.out.println("");
14
15 int n=scan.nextInt(); // length array
16
17 int a []=new int [n]; //array
18
19 // add values to array
20
21 for(int i = 0 ; i<=n-1 ; i++)
22 {
23 System.out.println( "Pleas enter value "+ (i+1) + " into array" );
24 System.out.println("");
25
26 int s= scan .nextInt();
27 a[i] = s ;
28
29 }
30 // sorting array
31 for (int j=1; j < a.length; j++) {
32 for (int i=0; i < a.length-j; i++) {
33 if (a[i] > a[i+1]) {
34 int temp = a[i];
35 a[i] = a[i+1];
36 a[i+1] = temp;
37 }
38 }
39 }
40 // enter search value
41 System.out.println( "Pleas enter search value " );
42 System.out.println("");
43
44 int key= scan .nextInt();
45 // call method binary search
46 int x= binarySearch(a,key);
47 if (x>=0)
48 System.out.println("Found " + key + " at position " + x);
49 else
50 System.out.println("Sorry search value Not Found ");
51
52 }
53
54 public static int binarySearch(int[] a, int key) {
55 int low = 0;
56 int high = a.length -1;
57 int mid;
58 while (low<=high) {
59 mid = (low+high) /2;
60 if (a[mid] > key)

Page 1
Binary_search.java

61 high = mid -1;


62 else if (a[mid] < key)
63 low = mid +1;
64 else
65 return mid;
66 }
67 return -1;
68 }}
69
70
71

Page 2

You might also like