Binary Search
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();
}
}