Answers for "binary search using recursion"

2

binary search in c

//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);
}
Posted by: Guest on December-19-2020
0

recursive binary search

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;
    }

}
Posted by: Guest on July-17-2021
1

binary search iterative

// 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;
			}
		}
	}
}
Posted by: Guest on June-23-2020

Code answers related to "binary search using recursion"

Browse Popular Code Answers by Language