
#include<stdio.h>
#include<stdlib.h>
#define N 100000

void insertionsort(int *A,int b);
void swap(int i,int j,int *A);

int main(void)
{
	int i,A[N],b,c;
	FILE *fp;

	if((fp=fopen("rand.dat","rt"))==NULL){
		printf("error");
		exit(1);
	}

	fscanf(fp,"%d",&b);

	for(i=0;i<b;i++){
		A[i]=NULL;
	}

	printf("Unsorted data\n");
	for(i=0;i<b;i++){
		fscanf(fp,"%d",&A[i]);
		printf("A[%d]=%d\n",i,A[i]);
	}
	printf("\n");

	insertionsort(A,b);

	printf("After sorting the data\n");
	for(i=0;i<b;i++){
		printf("A[%d]=%d\n",i,A[i]);
	}

	fclose(fp);

	return 0;
}

void insertionsort(int *A,int b)
{
	int i,j,k;

	for(i=1;i<b;i++){
		j=A[i];
		k=i;
		while((j<A[k-1])&&(k-1>=0)){
			A[k]=A[k-1];
			k=k-1;
		}
		A[k]=j;
	}
	return;
}
