逆置链表
三个关键指针
void reverselist(node* head)
{
node *p,*q,*r;
p=head;
q=p->next;
while(q)
{
r=q->next;
q->next=p;
p=q;
q=r;
}
head->next=null;
head=p;
}
链表排序 从小到大
//只改变值,不改变指针方向
void sortlist(node* head)
{
node * p,*q,*r;
p=head;
while(p)
{
q=p->next;
s=p;
while(q)
{
if(q->value<s-value)
s=q;
q=q->next;
}
if(s!=p)
{
int t=s->value;
s->value=p->value;
p->value=t;
}
p=p->next;
}