单链表转换顺序表
void paixu2(struct xuesheng *head) //按数学成绩排序{
struct xuesheng *p,*f,*t;
int i,h,a,k;
p=f=t=head;
if(head==NULL)
{
printf("未打开任何文件!\n");
getchar();
return;
}
int r[3];//只有三个节点
for(k=0;k<3;k++) //单链表转变成顺序表
{
r[k]=p->Math;
p=p->next;
}
for(i=1;i<3;i++) //直接插入排序
if(r[i]<r[i-1])
{ a=r[i];
for(h=i-1;a<r[h];h--)
{ r[h+1]=r[h];
r[h]=a;
}
}
for(i=0;i<3;i++) //再返回单链表
f=head;
p->Math==r[i];
f->xuehao=p->xuehao;
// f->name=p->name;
f->Math=p->Math;
f->English=p->English;
f->Datastructure=p->Datastructure;
f->aver=p->aver;
f=f->next;
}
怎么实现插入排序,请教