Selection Sort in C

Here is an example of the Selection Sort algorithm implemented in C:

#include <stdio.h>

void swap(int xp, int yp) {
    int temp = *xp;
    xp = yp;
    *yp = temp;
}

void selectionSort(int arr[], int n) {
    int i, j, min_idx;
    for (i = 0; i < n-1; i++) {
        min_idx = i;
        for (j = i+1; j < n; j++) {
            if (arr[j] < arr[min_idx])
                min_idx = j;
        }
        swap(&arr[min_idx], &arr[i]);
    }
}

void printArray(int arr[], int size) {
    int i;
    for (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]);
    selectionSort(arr, n);
    printf("Sorted array: \n");
    printArray(arr, n);
    return 0;
}

This code snippet demonstrates the Selection Sort algorithm in C. The selectionSort function takes an array arr and its size n as input, and sorts the array in ascending order using the Selection Sort technique. The swap function is used to swap two elements in the array.

The main function initializes an array arr with some values, calculates the size of the array, calls the selectionSort function to sort the array, and then prints the sorted array using the printArray function.

When you run this code, the output will be:

Sorted array:
11 12 22 25 64

This indicates that the array has been successfully sorted in ascending order using the Selection Sort algorithm.