## Definition:

Linear search is a search algorithm, that checks for the key in a set of values one by one till it reaches the end of all the elements.

For example: consider the array [14, 96, 27, 5, 48], and we need to search for the number 48. Below are the number of iterations necessary:

Consider the array given below and the key is 48.

[14, 96, 27, 5, 48]

if key == a[0]

else if key == a[1]

else if key == a[2]

else if key == a[3]

else if key == a[4]

If the key is found we shall display the index of the key, else we return key not found.

## Pseudo Code:

Input: array array_len key Algorithm: linearSearch(arr, len, key) for i = 0 to n-1 if (arr[i] == key) return i end if end for return -1; // key not found

## Solution in C:

#include<stdio.h> void linearSearch(int *array,int len, int key) { int i = 0; //Iterate one by one to find the key for(i = 0; i< len ; i++ ) { //check one by one if the data at the index is same as key if(array[i] == key) { printf("Key found at index = %d\n", i+1); return; //return statement is important. //else it will continue to loop after the element is found } } printf("Not able to find key\n"); } int main() { int arr[5] = {10, 30, 48, 45, 78}; int arrayLen = 5; int key = 45; int key_2 = 34; //successful search linearSearch(arr,arrayLen, key); //key not found case linearSearch(arr,arrayLen, key_2); return 0; }

## Output:

Key found at index = 4 Not able to find key

### Further Reading: