Insertion Sort


Insertion sort is a simple sorting algorithm, a comparison sort in which the sorted array (or list) is built one entry at a time. It is much less efficient on large lists than more advanced algorithms such as quicksort, heapsort, or merge sort.....


However, insertion sort provides several advantages:
simple implementation,efficient for (quite) small data sets,efficient for data sets that are already,substantially sorted: the time complexity is O(n + d),
where d is the number of inversions, more efficient in practice than most other simple quadratic (i.e., O(n2)) algorithms such as selection sort or bubble sort; the average running time is n2/4, and the running time is linear in the best case stable (i.e., does not change the relative order of elements with equal keys) in-place (i.e., only requires a constant amount O(1) of additional memory space)
online (i.e., can sort a list as it receives it)

#include <stdio.h>
#include <conio.h>
void main()
{
clrscr();
int temp;
int j;
int a[10]={10,9,8,7,6,5,4,3,2,1};
for(int i=1;i<=10;i++)
{
temp=a[i]; j=i-1;
while(j>0&&a[j]>temp)
{
a[j+1]=a[j];
j--;
}
a[j+1]=temp;
}
for(int k=1;k<=10;k++)
printf("%d\n",a[k]);
getche();
}

0 comments

Post a Comment

 
|  I Code Help. Blogger Template By Lawnydesignz Powered by Blogger