# Searching an element in an array

Search whether the given key is present or not in the array.

#### Input

arr[5] = {10, 30, 5, 100, 4};

key = 30

"Search Found"

#### Input

arr[5] = {10, 30, 5, 100, 4};

key = 500

## Algorithm

1. Iterate the array using the loop.

2. Check whether the given key present in the array i.e. arr[i] == key.

3. If yes,

print "Search Found".

4. Else

## Search Found

Let's take an array of 5 elements.

34, 2, 23, 100, 60.

If we search element 100, the execution will be,

1. 34 != 100. Move to the next element.

2. 2   != 100. Move to the next element.

3. 23 != 100. Move to the next element.

4. 100 == 100. Search Found.

If we search element 1000, the execution will be,

1. 34   != 1000. Move to the next element.

2. 2     != 1000. Move to the next element.

3. 23   != 1000. Move to the next element.

4. 100 != 1000. Move to the next element.

## Implementation of searching an element in an array

Example

```/*
* Program  : Searching an element in the array
* Language : C
*/

#include<stdio.h>

#define size 5

int main()
{
int arr[size] = {34, 2, 23, 100, 60};
int key,i,flag = 0;

printf("Enter element to search\n");
scanf("%d",&key);

/*
* iterate the array elements using loop
* if any element matches the key, set flag as 1 and break the loop
* flag = 1 indicates that the key present in the array
* if execution comes out of loop and the flag remains 0, print search not found
*/

for(i = 0; i < size; i++)
{
if(arr[i] == key)
{
flag = 1;
break;
}
}

if(flag == 1)
printf("Search Found\n");
else

return 0;
}
```

## Time Complexity Analysis - Searching for an element in an array

#### Worst Case - O(N)

If the key present in arr[N - 1] (last index), the for loop will work for N times.

Where N is the number of elements in the array.

Hence the time complexity will be O(N).

#### Best Case - O(1)

If the key present in arr[0], the for loop will break after its first iteration.

So the time complexity will be O(1).

## Useful Resources

1. https://www.log2base2.com/C/array/arrays-in-c.html [Why do we need array?]
2. https://www.log2base2.com/C/array/declaration-and-initialization-of-array-in-c.html [Declaration and Initialization of array]