Write a C Program to Implement the Selection Sort Algorithm


To write a program in C to sorting the elements using selection sort method.



  • Selection sort is a simple sorting algorithm.
  • This sorting algorithm is an in-place comparison-based algorithm in which the list is divided into two parts, the sorted part at the left end and the unsorted part at the right end.
  • Initially, the sorted part is empty and the unsorted part is the entire list.
  • The smallest element is selected from the unsorted array and swapped with the leftmost element, and that element becomes a part of the sorted array.
  • This process continues moving unsorted array boundary by one element to the right.


  • Step 1 − Set MIN to location 0
  • Step 2 − Search the minimum element in the list
  • Step 3 − Swap with value at location MIN
  • Step 4 − Increment MIN to point to next element
  • Step 5 − Repeat until the list is sorted


#include <stdio.h>
#include <stdlib.h>

int smallest(int arr[], int k, int n);
void selection_sort(int arr[], int n);
void main(int argc, char *argv[]) {
int arr[10], i, n;
printf("\n Enter the number of elements in the array: ");
scanf("%d", &n);
printf("\n Enter the elements of the array: ");
scanf("%d", &arr[i]);
selection_sort(arr, n);
printf("\n The sorted array is: \n");
printf(" %d\t", arr[i]);
int smallest(int arr[], int k, int n)
int pos = k, small=arr[k], i;
if(arr[i]< small)
small = arr[i];
pos = i;
return pos;
void selection_sort(int arr[],int n)
int k, pos, temp;
pos = smallest(arr, k, n);
temp = arr[k];
arr[k] = arr[pos];
arr[pos] = temp;


10 8 9 6 7 5 4 2 3 1 10


Enter the number of elements in the array: 
Enter the elements of the array: 
The sorted array is: 
1	 2	 3	 4	 5	 6	 7	 8	 9	 10	


Thus, Implement of Selection Sort was executed successfully.

Leave a Comment