recursive binary search
//C Implementation
#include<stdio.h>
int BinarySearch(int arr[], int search, int mid, int len){
if(mid == -1 || mid == len+1){
printf("\nSearched Element doesn't exist.");
return 1;
}
else if (search > arr[mid]){
mid++;
BinarySearch(arr,search,mid,len);
return 0;
}
else if (search < arr[mid]){
mid--;
BinarySearch(arr,search,mid,len);
return 0;
}
else if(search == arr[mid]) {
printf("\n Searched Element found at Location %d.",mid);
return 1;
}
}
void main(){
int arr[] = {1,2,3,4,5,6,7,8,9};
int len = sizeof(arr) / sizeof(int);
int mid = (int) (len / 2) + 1;
printf("\n Please Enter Number You Want to Search \n > ");
int search;
scanf("%d",&search);
int Result = BinarySearch(arr,search,mid,len);
}
4.2
10
// Binary Search using Iterative Approach
import java.io.*;
class Binary_Search
{
public static void main(String[] args) throws Exception
{
Binary_Search obj = new Binary_Search();
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
System.out.println("Insert the length of the Array : ");
int n = Integer.parseInt(br.readLine());
int arr[] = new int[n];
System.out.println("Insert elements into the array : ");
for(int i=0;i<n;i++)
{
arr[i] = Integer.parseInt(br.readLine());
}
System.out.println("Enter the num which you want to Search : ");
int num = Integer.parseInt(br.readLine());
obj.logic(arr,num);
}
void logic(int arr[],int num)
{
int r = arr.length - 1;
int l = 0;
int mid;
while(l<=r)
{
mid = l + (r-l)/2;
if(arr[mid] == num)
{
System.out.println("Number found at "+mid+"th index");
break;
}
else if(arr[mid]>num)
{
r = mid - 1;
}
else
{
l = mid + 1;
}
}
}
}
Thank you!
10
0
0
0
import java.util.Scanner;
public class BinarySearching {
public static void main(String[] argh){
System.out.println("Enter the size of the Array: ");
Scanner input = new Scanner(System.in);
int size = input.nextInt();
int [] array = new int[size];
int[] binarySort = enterValues(array,size);
System.out.println("Which number you want to find? ");
int numberTofind = input.nextInt();
int low =0;
int high = binarySort.length-1;
if(findNumber(binarySort,numberTofind,low,high) == -1){
System.out.println("The number you entered dose not exist");
return;
}
System.out.println("the number is at index: "+findNumber(binarySort,numberTofind,low,high));
}
public static int[] enterValues(int [] arr,int size){
System.out.println("Enter Sorted Array: ");
for(int i=0 ; i<size;++i){
arr[i] = i;
}
return arr;
}
public static int findNumber(int [] sortedArray, int findThisNumber,int low , int high ){
int midle = (low+high)/2;
if(sortedArray[midle]==findThisNumber)
{ return midle;
}else if(sortedArray[midle] < findThisNumber)
{
return findNumber(sortedArray,findThisNumber,low=midle+1,high);
}else if(sortedArray[midle] > findThisNumber)
{
return findNumber(sortedArray,findThisNumber,low,high=midle-1);
}
return -1;
}
}
Thank you!
0
0
Are there any code examples left?
New code examples in category Java