Given an unsorted array and an element x, search x in given array. Write recursive C code for this. If element is not present, return -1.
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.
#include<stdio.h> /* Recursive function to search x in arr[l..r] */ int recSearch( int arr[], int l, int r, int x) { if (r < l) return -1; if (arr[l] == x) return l; return recSearch(arr, l+1, r, x); } int main() { int arr[] = {12, 34, 54, 2, 3}, i; int n = sizeof (arr)/ sizeof (arr[0]); int x = 3; int index = 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); return 0; } |
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
No comments:
Post a Comment