我写的插入排序,怎么不对啊?
#include<stdio.h>#define MAX 10
void main()
{ void insesort(int *);
int a[MAX]={4,2,0,5,3,7,1,9,6,8};
int *p,i;
for(i=0,p=a;i<MAX;i++)
printf("%d ",*(p+i));
printf("\n");
insesort(p);
for(i=0;i<MAX;i++)
printf("%d ",*(p+i));
printf("\n");
getch();
}
void insesort(int *p)
{ int i,j,temp;
for(i=1;i<MAX;i++)
{ temp=*(p+i);
for(j=i-1;temp<*(p+j);j--)
{ *(p+j+1)=*(p+j);
if(j==0) {if(temp<*p) *(p+1)=*p;break;}}
if(j==0) *(1+p)=temp;
else *(p+j+1)=temp;
}
}