[求助]c语言数据结构(单链表的逆置)
求这个结构的单链表的逆置算法,比如原来的顺序是1->2->3->4->5->NULL,逆置后变成5->4->3->2->1->NULL;struct asc
{ int a;
char b;
struct asc *next;
};
我写了一个,编译真确,但运行不对,请高手帮我看看,谢谢诶
struct asc *NiZhi(struct asc *l) /* l是链表的头指针*/
{
struct asc *p,*q,*m,*n,*head;
p=l;
head=l;
m=l;
p->next=n;
while(n->next!=NULL)
{
while(m->next->next!=NULL)
m=m->next;
q=m->next;
m->next=NULL;
q->next=n;
p->next=q;
p=p->next;
m=n;
}
p=head->next;
head->next=NULL;
n->next=head;
return p;
}
最好在原表上面逆置,不要建立新的表,谢谢诶
[此贴子已经被作者于2007-3-22 22:12:18编辑过]