Write a program to sort elements of an array in ascending order using insertion sort.
#include<stdio.h> void print(int [],int); void insert_sort(int a[],int n); int main() { int a[] = {50,20,70,10,90,100,30,60,40,80},size; size = sizeof(a)/sizeof(a[0]); print(a,size); insert_sort(a,size); print(a,size); return 0; } void print(int a[],int n) { int i; for(i = 0;i < n;i++) printf("%d ",a[i]); printf("\n"); } void insert_sort(int a[],int n) { int i,j,k,t; for(i = 1;i < n;i++) { t = a[i]; for(j = i-1;j>=0;j--) { if(a[j] > t) a[j+1] = a[j]; else break; } a[j+1] = t; } }
Output
50 20 70 10 90 100 30 60 40 80 10 20 30 40 50 60 70 80 90 100