Insertion Sort
Insertion sort is a simple sorting algorithm that builds the final sorted array one item at a time. It is much less efficient on large lists than more advanced algorithms such as quicksort, heapsort, or merge sort.
Algorithm
INSERTION-SORT(A) 1. for j = 2 to A.length 2. key = A[j] 3. // Insert A[j] into the sorted sequence A[1...j-1] 4. i = j - 1 5. while i > 0 and A[i] > key 6. A[i+1] = A[i] 7. i = i - 1 8. A[i+1] = key
Insertion Sort
#include<stdio.h>
#include<conio.h>
void main()
{
int A[20],n,Temp,i,j;
clrscr();
printf("\n\t\t\t-----INSERTION SORT-----\n\n");
printf("\n\n ENTER THE NUMBER OF TERMS...: ");
scanf("%d",&n);
printf("\n ENTER THE ELEMENTS OF THE ARRAY...:\n");
for(i=0; i < n;i++)
{
scanf("%d", &A[i]);
}
for(i=1; i< n; i++)
{
Temp = A[i];
j = i-1;
while(Temp < A[j] && j>=0)
{
A[j+1] = A[j];
j = j-1;
}
A[j+1] = Temp;
}
printf("\n\t\t\t-------INSERTION SORTED ELEMENTS------\n\n");
printf("\nTHE ASCENDING ORDER LIST IS...:");
for(i=0; i < n; i++)
{
printf("\t%d", A[i]);
}
getch();
}
OUTPUT

| Class | Sorting algoritdm |
| Data structure | Array |
| Worst case performance | О(n2) |
| Best case performance | O(n) |
| Average case performance | О(n2) comparisons |
| Worst case space complexity | О(n) total, O(1) auxiliary |
