IMPLEMENT LINEAR SEARCH AND BINARY SEARCH
ALGORITHMS
#include <stdio.h>
// Linear Search
int linearSearch(int arr[], int n, int key) {
for (int i = 0; i < n; i++) {
if (arr[i] == key) {
return i; // return index if found
}
}
return -1; // not found
}
// Binary Search (array must be sorted)
int binarySearch(int arr[], int n, int key) {
int low = 0, high = n - 1;
while (low <= high) {
int mid = (low + high) / 2;
if (arr[mid] == key) {
return mid;
}
else if (arr[mid] < key) {
low = mid + 1; // search right half
}
else {
high = mid - 1; // search left half
}
}
return -1; // not found
}
int main() {
int n, key;
printf("Enter number of elements: ");
scanf("%d", &n);
int arr[n];
printf("Enter %d elements (in sorted order for Binary Search):\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("Enter element to search: ");
scanf("%d", &key);
// Linear Search
int linearResult = linearSearch(arr, n, key);
if (linearResult != -1)
printf("Linear Search: %d found at index %d\n", key, linearResult);
else
printf("Linear Search: %d not found\n", key);
// Binary Search
int binaryResult = binarySearch(arr, n, key);
if (binaryResult != -1)
printf("Binary Search: %d found at index %d\n", key, binaryResult);
else
printf("Binary Search: %d not found\n", key);
return 0;
}