Approach : The idea is to compare x with first element in arr[]. If element is found at first position, return it. Else recur for remaining array and x.
C++
// Recursive C++ program
// to search x in array
#include<bits/stdc++.h>
usingnamespacestd;
// Recursive function to
// search x in arr[l..r]
intrecSearch(intarr[], intl,
intr, intx)
{
if(r < l)
return-1;
if(arr[l] == x)
returnl;
if(arr[r] == x)
returnr;
returnrecSearch(arr, l + 1,
r - 1, x);
}
// Driver Code
intmain()
{
intarr[] = {12, 34, 54, 2, 3}, i;
intn = sizeof(arr) / sizeof(arr[0]);
intx = 3;
intindex = recSearch(arr, 0, n - 1, x);
if(index != -1)
cout << "Element "<< x
<< " is present at index "
<< index;
else
cout << "Element"<< x
<< " is not present";
return0;
}
// This code is contributed
// by Shivi_Aggarwal
C
#include<stdio.h>
/* Recursive function to search x in arr[l..r] */
intrecSearch(intarr[], intl, intr, intx)
{
if(r < l)
return-1;
if(arr[l] == x)
returnl;
if(arr[r] == x)
returnr;
returnrecSearch(arr, l+1, r-1, x);
}
intmain()
{
intarr[] = {12, 34, 54, 2, 3}, i;
intn = sizeof(arr)/sizeof(arr[0]);
intx = 3;
intindex = recSearch(arr, 0, n-1, x);
if(index != -1)
printf("Element %d is present at index %d", x, index);
else
printf("Element %d is not present", x);
return0;
}
Java
// Recursive Java program to search x in array
classTest
{
staticintarr[] = {12, 34, 54, 2, 3};
/* Recursive Method to search x in arr[l..r] */
staticintrecSearch(intarr[], intl, intr, intx)
{
if(r < l)
return-1;
if(arr[l] == x)
returnl;
if(arr[r] == x)
returnr;
returnrecSearch(arr, l+1, r-1, x);
}
// Driver method
publicstaticvoidmain(String[] args)
{
intx = 3;
//Method call to find x
intindex = recSearch(arr, 0, arr.length-1, x);
if(index != -1)
System.out.println("Element "+ x + " is present at index "+
index);
else
System.out.println("Element "+ x + " is not present");
}
}
Python
# Recursive function to search x in arr[l..r]
defrecSearch( arr, l, r, x):
ifr < l:
return-1
ifarr[l] ==x:
returnl
ifarr[r] ==x:
returnr
returnrecSearch(arr, l+1, r-1, x)
# Driver Code
arr =[12, 34, 54, 2, 3]
n =len(arr)
x =3
index =recSearch(arr, 0, n-1, x)
ifindex !=-1:
print"Element", x,"is present at index %d"%(index)
else:
print"Element %d is not present"%(x)
# Contributed By Harshit Agrawal
C#
// Recursive C# program to
// search x in array
usingSystem;
staticclassTest
{
staticint[]arr = {12, 34, 54, 2, 3};
/* Recursive Method to search x in arr[l..r] */
staticintrecSearch(int[]arr, intl, intr, intx)
{
if(r < l)
return-1;
if(arr[l] == x)
returnl;
if(arr[r] == x)
returnr;
returnrecSearch(arr, l+1, r-1, x);
}
// Driver method
publicstaticvoidMain(String[] args)
{
intx = 3;
// Method call to find x
intindex = recSearch(arr, 0, arr.Length-1, x);
if(index != -1)
Console.Write("Element "+ x +
" is present at index "+ index);
else
Console.Write("Element "+ x +
" is not present");
}
}
// This code is contributed by Smitha Dinesh Semwal
PHP
<?php
// Recursive PHP program to
// search x in array
// Recursive function to
// search x in arr[l..r]
functionrecSearch($arr, int $l,
int $r, int $x)
{
if($r< $l)
return-1;
if($arr[$l] == $x)
return$l;
if($arr[$r] == $x)
return$r;
returnrecSearch($arr, $l+1, $r-1, $x);
}
// Driver Code
$arr= array(12, 34, 54, 2, 3); $i;
$n= count($arr);
$x= 3;
$index= recSearch($arr, 0, $n- 1, $x);
if($index!= -1)
echo"Element"," ", $x," ",
"is present at index ", $index;
else
echo"Element is not present", $x;
// This code is contributed by anuj_67.
?>
Output:
Element 3 is present at index 4
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
We use cookies to ensure you have the best browsing experience on our website. By using our site, you
acknowledge that you have read and understood our
Cookie Policy &
Privacy Policy