单链表逆序问题
大神们勿喷,我们系的数据结构老师太次了,啥啥讲不明白,小弟看不懂,所以请大神们帮我详解一下,说的一定要详细点,先谢过大家。帮忙解释下这段算法是怎么执行的,都是什么意思。
SLIST * fun( SLIST *h)
{ SLIST *p, *q,*r;
p=h->next;
q=p->next;
p->next=NULL;
r=q->next;
while(r!=NULL)
{
q->next=p;
p=q;
q=r;
r=r->next;
}
q->next=p;
h->next=q;
return h;
}
[解决办法]
在纸上画一画就明白了,慢慢理解,刚开始的不好理解。