Answers for "binary search recursive c++"

5

binary search in c++

#include<iostream> 
using namespace std; 
int binarySearch(int arr[], int p, int r, int num) { 
   if (p <= r) { 
      int mid = (p + r)/2; 
      if (arr[mid] == num)   
         return mid ; 
      if (arr[mid] > num)  
         return binarySearch(arr, p, mid-1, num);            
      if (arr[mid] < num)
         return binarySearch(arr, mid+1, r, num); 
   } 
   return -1; 
} 
int main(void) { 
   int arr[] = {1, 3, 7, 15, 18, 20, 25, 33, 36, 40}; 
   int n = sizeof(arr)/ sizeof(arr[0]); 
   int num = 33; 
   int index = binarySearch (arr, 0, n-1, num); 
   if(index == -1)
      cout<< num <<" is not present in the array";
   else
      cout<< num <<" is present at index "<< index <<" in the array"; 
   return 0; 
}
Posted by: Guest on July-20-2020
0

binary search recursive in c++

#include <bits/stdc++.h>
using namespace std;
 
// A recursive binary search function. It returns
// location of x in given array arr[l..r] is present,
// otherwise -1
int binarySearch(int arr[], int l, int r, int x)
{
    if (r >= l) {
        int mid = l + (r - l) / 2;
 
        // If the element is present at the middle
        // itself
        if (arr[mid] == x)
            return mid;
 
        // If element is smaller than mid, then
        // it can only be present in left subarray
        if (arr[mid] > x)
            return binarySearch(arr, l, mid - 1, x);
 
        // Else the element can only be present
        // in right subarray
        return binarySearch(arr, mid + 1, r, x);
    }
 
    // We reach here when element is not
    // present in array
    return -1;
}
 
int main(void)
{
    int arr[] = { 2, 3, 4, 10, 40 };
    int x = 10;
    int n = sizeof(arr) / sizeof(arr[0]);
    int result = binarySearch(arr, 0, n - 1, x);
    (result == -1) ? cout << "Element is not present in array"
                   : cout << "Element is present at index " << result;
    return 0;
}
Posted by: Guest on November-09-2021
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 recursive c++"

Browse Popular Code Answers by Language