Find Smallest Element in an Array
Understanding Finding Smallest Element
Finding the smallest element in an array involves scanning the array and keeping track of the minimum value encountered.
We will explore three different methods to find the smallest element in an array using C.
Method 1: Using Iteration
This method iterates through the array and finds the smallest element.
#include <stdio.h> int find_smallest(int arr[], int size) { int min_val = arr[0]; for (int i = 1; i < size; i++) { if (arr[i] < min_val) { min_val = arr[i]; } } return min_val; } int main() { int arr[] = {10, 20, 4, 45, 99, 23}; int size = sizeof(arr) / sizeof(arr[0]); printf("Smallest element: %d", find_smallest(arr, size)); return 0; }
Method 2: Using Sorting
This method sorts the array and takes the first element as the smallest.
#include <stdio.h> void sort_array(int arr[], int size) { for (int i = 0; i < size - 1; i++) { for (int j = i + 1; j < size; j++) { if (arr[i] > arr[j]) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } } int main() { int arr[] = {10, 20, 4, 45, 99, 23}; int size = sizeof(arr) / sizeof(arr[0]); sort_array(arr, size); printf("Smallest element: %d", arr[0]); return 0; }
Method 3: Using Recursion
This method finds the smallest element using recursion.
#include <stdio.h> int find_smallest(int arr[], int n) { if (n == 1) return arr[0]; int min_val = find_smallest(arr, n - 1); return (arr[n - 1] < min_val) ? arr[n - 1] : min_val; } int main() { int arr[] = {10, 20, 4, 45, 99, 23}; int size = sizeof(arr) / sizeof(arr[0]); printf("Smallest element: %d", find_smallest(arr, size)); return 0; }