用C语言描述线性链表的逆转。。。呃。。软件作业。。呵呵。

来源:百度知道 编辑:UC知道 时间:2024/05/28 20:09:33
帮帮忙咯。呵呵。

逆置链表
void Invert(LinkList L)
{
LinkList p,q,r;
p=L->next;
q=p->next;
while(q!=NULL)
{
r=q->next;
q->next=p;
p=q;
q=r;
}
L->next->next=NULL;//第一个结点指向空
L->next=p;//头指针指向最后一个结点
}

TO gomcarter:
这个当然可以
这是我在我写的程序上截下来的,是完全没问题的,
LinkList L当然是指针类型的了,只要会一点的就知道
L->next就表示L是指针了,需要刻意说明吗?
节点类型是
typedef struct LNode
{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
在主函数可以定义LNode L,
创建链表后然后像你那样的Invert(&L)就可以了。

补充一下,一楼的我不知道程序可以不可以,但是你没说清楚LinkList L 是指针类型。

还有传参数的时侯Invert(&L);L是个结构,而不是指针。

其实这里用双指针也可以。