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

Similar Programs Chapter Last Updated
Data Types In Java Miscellaneous 09-06-2018
Java Program To Find Largest Element Of Array Miscellaneous 21-09-2017
Java Program To Check Whether Number Is Prime Or Not Miscellaneous 08-09-2017
Java Program To Find Power Of Number Using For Loop Miscellaneous 29-08-2017
Java Program To Find LCM Of Two Numbers Miscellaneous 29-08-2017
Java Program To Find GCD Of Two Numbers Miscellaneous 29-08-2017
Java Program To Check Whether An Alphabet Is Vowel Or Consonant Miscellaneous 25-08-2017
Java Program To Find ASCII Value Of Character Miscellaneous 25-08-2017
Java Object HashCode Method Miscellaneous 02-08-2017
Java Builder Design Pattern Example Miscellaneous 06-06-2017
Java Factory Design Pattern Example Miscellaneous 06-06-2017
Java Program To Print ASCII Values Miscellaneous 06-04-2017
Java Program To Find HCF LCM Of Two Numbers Miscellaneous 22-09-2018
Java String Array Iteration Miscellaneous 31-03-2017
Java Array Size Miscellaneous 30-03-2017
Java Integer toString Miscellaneous 30-03-2017
Java Sort Array Using Arrays.sort() Miscellaneous 28-03-2017
Java Print Array Using Arrays.toString Miscellaneous 28-03-2017
Java Nested Interface Miscellaneous 25-03-2017
Java Static Nested Class Miscellaneous 25-03-2017
Packages In Java Miscellaneous 24-03-2017
Java Strictfp Keyword Miscellaneous 24-03-2017
Java Call By Reference Miscellaneous 23-03-2017
Java Call By Value Miscellaneous 23-03-2017
Java Unboxing Example Miscellaneous 23-03-2017
Java Autoboxing Example Miscellaneous 23-03-2017
Java Format Currency Miscellaneous 15-02-2017
Java String To BigDecimal Conversion Miscellaneous 15-02-2017
Java Program To Convert Arraylist To Array Miscellaneous 13-02-2017
Java Array Creation And Initialize Miscellaneous 13-02-2017

1 2 3 4 5