/*************************************************************************
> File Name: insertsort.c
> Author: pengshp
> Mail: pengshp3@outlook.com
> Created Time: 2015年05月05日 星期二 00时12分21秒
************************************************************************/
#include<stdio.h>
#define N 10
void insertsort(int * p,int n)
{
int i,j;
for(i=2;i<=n;i++)
{
p[0]=p[i]; //设置p[0]为监视哨
j=i-1;
while(p[0]<p[j])
{
p[j+1]=p[j]; //记录后移
j--;
}
p[j+1]=p[0]; //将记录插入合适位置
}
}
void printArray(int a[],int n)
{
int i;
for(i=1;i<=n;i++)
printf("%d ",a[i]);
}
int main()
{
int i,n;
int R[N+1];
printf("\nThis is Insertsort....");
printf("\nPlease intput the length of list(<=10): ");
scanf("%d",&n);
printf("\nPlease intput the date of list: ");
for(i=1;i<=n;i++)
{
scanf("%d",&R[i]);
}
printf("\nThe disordered list is: ");
printArray(R,n);
insertsort(R,n);
printf("\nThe ordered list is: ");
printArray(R,n);
return 0;
}