第一次用这个笔记,刚上路,写了个链表排序,可是怎么都不对,麻烦各位帮帮忙看看,谢了。。。
void sort(List *&L)
{
List *p=NULL,*q=NULL,*r=NULL,*s=NULL,*head=L;
if(L->ptr!=NULL&&L->ptr->ptr!=NULL)
{
p=L->ptr;q=p->ptr;
}
if(p!=NULL&&q!=NULL)
{
while(q!=NULL)
{
if(q->num>=p->num)
{
p=p->ptr;q=q->ptr;
}
else
{
p->ptr=q->ptr;
r=L;s=L->ptr;
while(s->num<q->num)
{
r=s;s=s->ptr;
}
q->ptr=r->ptr;
r->ptr=q;
}
p=q;q=q->ptr;
}
}
L=head;
}