Write a c program to implement selection Sort

 #include <stdio.h>


void selectionSort(int arr[], int n) {

    int i, j, min_idx;


    // One by one move the boundary of the unsorted subarray

    for (i = 0; i < n-1; i++) {

        // Find the minimum element in the unsorted array

        min_idx = i;

        for (j = i+1; j < n; j++)

            if (arr[j] < arr[min_idx])

                min_idx = j;


        // Swap the found minimum element with the first element

        int temp = arr[min_idx];

        arr[min_idx] = arr[i];

        arr[i] = temp;

    }

}


// Function to print the array

void printArray(int arr[], int size) {

    for (int i = 0; i < size; i++)

        printf("%d ", arr[i]);

    printf("\n");

}


int main() {

    int arr[] = {64, 25, 12, 22, 11};

    int n = sizeof(arr)/sizeof(arr[0]);

    printf("Original array: \n");

    printArray(arr, n);

    

    selectionSort(arr, n);

    

    printf("Sorted array using Selection Sort: \n");

    printArray(arr, n);

    return 0;

}


Comments