Linear Search Using Recursion

  1. //Linear Search   
  2. //Time complexity :Worst Case O(n)  
  3. //Best Case :O(1)  
  4.   
  5.   
  6. #include <stdio.h>  
  7.   
  8.   
  9. int LinearSearch(int arr[],  int search,int index,int n);  
  10. int main()  
  11. {  
  12.     int n, search, result, m = 0, arr[100];  
  13.     printf("Program on Linear Search\n");  
  14.     printf("-------\n");  
  15.     printf("Enter the total elements in the array\n");  
  16.     scanf("%d", &n);  
  17.   
  18.     printf("Enter the array elements\n");  
  19.     for (int i = 0; i < n; i++)  
  20.     {  
  21.         scanf("%d", &arr[i]);  
  22.     }  
  23.   
  24.     printf("Check whether these are the elements which you have entered\n");  
  25.     for (int i = 0; i < n; i++)  
  26.     {  
  27.         printf("%d\n", arr[i]);  
  28.     }  
  29.     printf("Enter the element to search \n");  
  30.     scanf("%d", &search);  
  31.   
  32.   
  33.     result =  LinearSearch(arr,  search,0,n);  
  34.     if (result != 0)  
  35.     {  
  36.         printf("Element found at pos %d\n ", result);  
  37.     }  
  38.     else  
  39.     {  
  40.         printf("Element not found");  
  41.     }  
  42. return 0;  
  43. }  
  44. int LinearSearch(int arr[],  int search,int index,int n)  
  45. {  
  46.     int arrpos=0;  
  47.     if(index>=n)  
  48.     {  
  49.         return 0;  
  50.     }  
  51.         if (arr[index] == search)  
  52.         {  
  53.             arrpos = index + 1;  
  54.             return arrpos;  
  55.               
  56.         }  
  57.         else  
  58.         {  
  59.         return LinearSearch(arr, search,index+1,n);  
  60.         }  
  61.   
  62.       
  63.     return arrpos;  
  64. }