Binary Search Using Recursion In Java
Chapter:
Miscellaneous
Last Updated:
28-05-2016 12:41:57 UTC
Program:
/* ............... START ............... */
import java.util.*;
public class JavaBinarySearchUsingRecursion {
int Adno[] = new int[100];
static Scanner sc = new Scanner(System.in);
JavaBinarySearchUsingRecursion() // Default constructor
{
for (int i = 0; i < 100; i++) {
Adno[i] = 0;
}
}
void fillArray() throws Exception // Function to accept elements in
// ascending order
{
for (int i = 0; i < 100; i++) {
System.out.print("Enter Admission no of student " + (i + 1) + ": ");
Adno[i] = sc.nextInt();
}
/* Sorting the array in ascending order */
int temp = 0;
for (int i = 0; i < 99; i++) {
for (int j = i + 1; j < 100; j++) {
if (Adno[i] > Adno[j]) {
temp = Adno[i];
Adno[i] = Adno[j];
Adno[j] = temp;
}
}
}
}
int binSearch(int l, int u, int v) // Recursive function implementing binary
// search
{
int mid = (l + u) / 2;
if (u < l) // condition if the search is unsuccessful
{
return -1;
}
if (v == Adno[mid]) // condition if the search is successful
{
return 1;
} else if (v > Adno[mid]) {
return binSearch(mid + 1, u, v);
} else {
return binSearch(l, mid - 1, v);
}
}
public static void main(String args[]) throws Exception {
JavaBinarySearchUsingRecursion ob = new JavaBinarySearchUsingRecursion();
System.out.println("Enter Admission number in ascending order");
ob.fillArray();
System.out.print("Enter an Admission number to search : ");
int v = sc.nextInt();
int f = ob.binSearch(0, 99, v);
System.out.println("*****************************");
if (f == 1) {
System.out.println("Admission Number found");
} else {
System.out.println("Admission Number Not found");
}
}
}
/* ............... END ............... */
Output
Enter Admission number in ascending order
Enter Admission no of student 1: 205
Enter Admission no of student 2: 310
Enter Admission no of student 3: 670
Enter Admission no of student 4: 887
Enter Admission no of student 5: 952
Enter an Admission number to search : 887
*****************************
Admission Number found
Tags
Binary Search Using Recursion In Java, Java