请教大神,将链表数据按照从小到大的顺序重新排列哪里错了啊
bool range(list*&L) //使链表数据由小到大排列{
if (L->next==NULL||L->next->next==NULL)//只有一个元素或者是空表
{
return false;
}
list *p=L->next,*q=p,*pre=L;
while (p->next!=NULL)
{
q=p->next;
while (pre!=p)
{
if ( q->date< pre->next->date )
{
p->next=q->next;
q->next=pre->next;
pre->next=q;
break;
}
else
pre=pre->next;
}
p=p->next;
pre=L;
}
return true;
}