Time complexity : O(N^2)
We calculate computing time for all of the inputs and then divide the result by the total number of inputs.
// C program for implementation of selection sort
#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;
// One by one move boundary of unsorted subarray
for
(i = 0; i < n-1; i++)
{
// Find the minimum element in 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
if
(min_idx != i)
swap(&arr[min_idx], &arr[i]);
}
}
/* Function to print an array */
void
printArray(
int
arr[],
int
size)
{
int
i;
for
(i=0; i < size; i++)
printf
(
"%d "
, arr[i]);
printf
(
"\n"
);
}
// Driver program to test above functions
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;
}