package binarysearch;
import java.util.Arrays;
import java.util.Scanner;
public class BinarySearch {
public void SearchRecordByBinary(int arr[], int value, int first, int last){
int mid= (first+last)/2;
while(first<=last){
mid= (first+last)/2;
if(value>arr[mid]){
first= mid+1;
}
else if(value==arr[mid]){
System.out.println("Your ID is registered at seat "+mid);
break;
}
else{
last= mid-1;
}
if(first>last){
System.out.println("Sorry This ID doesn't exist in Record..");
}
}
}
public static void main(String[] args) {
BinarySearch obj= new BinarySearch();
Scanner sc= new Scanner(System.in);
System.out.println("Enter size of Record: ");
int size= sc.nextInt();
int[] arr= new int[size];
System.out.println("\nEnter "+size+" ID in Record: ");
for(int i=0; i<size; i++){
arr[i]= sc.nextInt();
}
Arrays.sort(arr);
System.out.println("After sorting IDs in accending order: ");
for(int i=0; i<size; i++){
System.out.println(arr[i]);
}
System.out.println("\nEnter the ID you want to find: ");
int value=sc.nextInt();
int last= arr.length-1;
obj.SearchRecordByBinary(arr, value, 0, last);
} }
public void SearchRecordByBinary(int arr[], int value, int first, int last){
int mid= (first+last)/2;
while(first<=last){
mid= (first+last)/2;
if(value>arr[mid]){
first= mid+1;
}
else if(value==arr[mid]){
System.out.println("Your ID is registered at seat "+mid);
break;
}
else{
last= mid-1;
}
if(first>last){
System.out.println("Sorry This ID doesn't exist in Record..");
}
}
}
public static void main(String[] args) {
BinarySearch obj= new BinarySearch();
Scanner sc= new Scanner(System.in);
System.out.println("Enter size of Record: ");
int size= sc.nextInt();
int[] arr= new int[size];
System.out.println("\nEnter "+size+" ID in Record: ");
for(int i=0; i<size; i++){
arr[i]= sc.nextInt();
}
Arrays.sort(arr);
System.out.println("After sorting IDs in accending order: ");
for(int i=0; i<size; i++){
System.out.println(arr[i]);
}
System.out.println("\nEnter the ID you want to find: ");
int value=sc.nextInt();
int last= arr.length-1;
obj.SearchRecordByBinary(arr, value, 0, last);
} }