In this source code example, we will write a code to implement the Insertion Sort algorithm in the C programming language.
Insertion sort is an algorithm that creates a final sorted array one element at a time. The algorithm's performance is of the order O(n2). This algorithm is less efficient on large collections than other algorithms, such as quick, heap, and merge sort.
In real life, a good example of insertion sort is the way cards are manually sorted by the players in a game of bridge.
Insertion Sort in C Programming
In this C program, we will take input from the User or console. Let's write a C program to sort N numbers in ascending order using the Insertion Sort algorithm:
#include<stdio.h>
void Insertionsort(int[], int);
void main() {
int x[20], i, n;
printf("\n Enter the no of element to be sorted:");
scanf("%d", &n);
printf("\n Enter %d elements:", n);
for (i = 0; i < n; i++)
scanf("%d", &x[i]);
Insertionsort(x, n);
printf("\n The sorted array is:\n");
for (i = 0; i < n; i++)
printf("%4d", x[i]);
}
void Insertionsort(int a[], int n) {
int i, j, key;
for (j = 1; j < n; j++) {
key = a[j];
i = j - 1;
while ((i > -1) && (a[i] > key)) {
a[i + 1] = a[i];
i = i - 1;
}
a[i + 1] = key;
}
}
Output:
Enter the no of element to be sorted: 7
Enter 7 elements:
70
50
60
30
40
20
10
The sorted array is:
10 20 30 40 50 60 70
Comments
Post a Comment