Insertion sort is a simple sorting algorithm that works the way we sort playing cards in our hands.
// C program for insertion sort #include <math.h> #include <stdio.h> /* Function to sort an array using insertion sort*/ void insertionSort( int arr[], int n)
{ int i, key, j;
for (i = 1; i < n; i++) {
key = arr[i];
j = i - 1;
/* Move elements of arr[0..i-1], that are
greater than key, to one position ahead
of their current position */
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j = j - 1;
}
arr[j + 1] = key;
}
} // A utility function ot print an array of size n void printArray( int arr[], int n)
{ int i;
for (i = 0; i < n; i++)
printf ( "%d " , arr[i]);
printf ( "\n" );
} /* Driver program to test insertion sort */ int main()
{ int arr[] = { 12, 11, 13, 5, 6 };
int n = sizeof (arr) / sizeof (arr[0]);
insertionSort(arr, n);
printArray(arr, n);
return 0;
} |
chevron_right
filter_none
Output:
5 6 11 12 13
Please refer complete article on Insertion Sort for more details!
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.