Write Java Source Code: Binary Search in Recursion
Sample Output 1:
Enter the size of the array: 5
Enter 5 numbers: 2 1 3 5 4
The sorted numbers are:
1 2 3 4 5
Enter the number you want to search: 3
The search number is on the index 2
Enter the size of the array: 5
Enter 5 numbers: 2 1 3 5 4
The sorted numbers are:
1 2 3 4 5
Enter the number you want to search: 3
The search number is on the index 2
Source Code:
//Java Class
public
class
binarySearch
//Example of Java Class
{
//biSearch is an example of a method or a function
public
int
binSearch(
int
[] arr,
int
fIndex,
int
lIndex,
int
search)
{
int
middle = (fIndex + (lIndex - fIndex) /
2
);
if
(fIndex<lIndex ){
if
(search == arr[middle]){
return
middle;
}
else
if
(search < arr[middle]){
if
(search == arr[
0
])
return
0
;
return
binSearch(arr, fIndex, middle, search);
}
else
if
(search > arr[middle]){
if
(search == arr[middle+
1
])
return
middle +
1
;
return
binSearch(arr, middle+
1
, lIndex, search);
}
}
return
-
1
;
}
//this is also a class method
public
void
sort(
int
[] arr)
{
for
(
int
i=
0
; i<arr.length; i++)
{
for
(
int
j=i+
1
; j<arr.length; j++ )
{
if
(arr[i] > arr[j])
{
int
temp = arr[j];
arr[j]=arr[i];
arr[i]= temp;
}
}
}
for
(
int
i=
0
; i<arr.length; i++)
{
System.out.print(arr[i] +
" "
);
}
}
}
//main class
import
java.util.Scanner;
public
class
Main {
public
static
void
main(String[] args)
{
Scanner input =
new
Scanner(System.in);
System.out.print(
"Enter the size of the array: "
);
int
n = input.nextInt();
int
[] x =
new
int
[n];
System.out.print(
"Enter "
+ n +
" numbers: "
);
int
middle;
for
(
int
i=
0
; i<n; i++)
{
x[i] = input.nextInt();
}
binarySearch access =
new
binarySearch();
//this is how to instantiate an object to access a class
System.out.println(
"The sorted numbers are: "
);
access.sort(x);
//this is how to access a method
System.out.println();
System.out.print(
"Enter the number you want to search: "
);
int
value = input.nextInt();
System.out.print(
"The search number is on the index "
);
System.out.print(access.binSearch(x,
0
, x.length-
1
, value));
//how to access a class
}
}