OneCompiler

Binary Search

275

import java.util.*;

public class BinarySearch {
int binarySearch(int array[],int x,int low,int high) {
while(low <= high) {
int mid=low+((high-low)/2);
if(array[mid]==x) {
return mid;
}
if(array[mid]<x) {
low = mid+1;
}
else {
high=mid-1;
}

}
return -1;
}
public static void main(String []args) {
	BinarySearch bs = new BinarySearch();
	int n;
	Scanner s = new Scanner (System.in);
	System.out.println("eneter size of the array");
	n = s.nextInt();
	int aar[] = new int [n];
	System.out.println("eneter aaray elements");
	for(int i=0;i<n;i++) {
		aar[i]=s.nextInt();
	}
	Arrays.sort(aar);
	System.out.println("arraay elements");
	for(int i=0;i<n;i++) {
		System.out.println(aar[i]);
	}
	System.out.println("neter the ellement you want to serch");
	int x = s.nextInt();
	System.out.println(x);
	int result = bs.binarySearch(aar,x,0,n-1);
	if(result==-1) {
		System.out.println("elememt not found");		}
	else {
		System.out.println("Element found at index "+result);}
	s.close();
}

}