Linear Search using C programming
Use a recursive linearSearch function
to perform the linear search of the array. The function should receive an integer array and the size
of the array as arguments. If the search key is found, return the array subscript; otherwise, return –1.
Answer:
#include <stdio.h> #define SIZE 100 // function prototypes int linearSearch( int array[], int key, int low, int high ); int main( void ) { int array[ SIZE ]; // array to be searched unsigned int loop; // loop counter int searchKey; // element to search for int element; // result of linear search // initialize array elements for ( loop = 0; loop < SIZE; ++loop ) { array[ loop ] = 2 * loop; } // end for // obtain search key from user printf( "Enter the integer search key: " ); scanf( "%d", &searchKey ); // search array for search key element = linearSearch( array, searchKey, 0, SIZE - 1 ); // display message if search key was found if ( element != -1 ) { printf( "Found value in element %d\n", element ); } // end if else { printf( "Value not found\n" ); } // end else } // end main // function to search array for specified key int linearSearch( int array[], int key, int low, int high ) { // recursively search array if ( array[ low ] == key ) { return low; } // end if else if ( low == high ) { return -1; } else { return linearSearch( array, key, low + 1, high ); } }
Leave a reply