Selection sort in C

Selection sort in C to sort numbers of an array in ascending order. With a little modification, it arranges numbers in descending order.

Selection sort algorithm (for ascending order): Find the minimum element in the array and swap it with the element in the 1st position. Find the minimum element again in the remaining array[2, n] and swap it with the element at 2nd position, now we have two elements at their correct positions. We have to do this n-1 times to sort the array.

Selection sort program in C

#include <stdio.h>

int main()
{
int array[100], n, c, d, position, t;

printf(“Enter number of elements\n);
scanf(“%d”, &n);

printf(“Enter %d integers\n, n);

for (c = 0; c < n; c++)
scanf(“%d”, &array[c]);

for (c = 0; c < (n 1); c++) // finding minimum element (n-1) times
{
position = c;

for (d = c + 1; d < n; d++)
{
if (array[position] > array[d])
position = d;
}
if (position != c)
{
t = array[c];
array[c] = array[position];
array[position] = t;
}
}

printf(“Sorted list in ascending order:\n);

for (c = 0; c < n; c++)
printf(“%d\n, array[c]);

return 0;
}

Output of program: