c语言链表高手帮下忙 谢(请用通俗的话)
发布网友
发布时间:2022-09-20 17:53
我来回答
共5个回答
热心网友
时间:2023-11-06 11:32
书上的意思是这样的:你新建立了一个结点,其首址为s,(如s=(LinkList)malloc(sizeof(Node))//这句意思是:开辟新结点,并将该节点地址赋给s,也就是s指向该新结点).。
你要将这个新结点插入到p所指结点的后面,那么:1,s的next指针和p原先的next指针所指向的结点(也就是原先p所指结点的后一个结点)拉手(s->next=p->next;)2.p的next指针和s拉手(p->next=s;)。然后结点就插入了链表。
s是首址,指向你刚刚开辟的新结点(你要在链表中插入,肯定得先开辟一个新结点,链表插入删除之类操作处理的单位就是结点。每个结点包含指针域,数据域,数据域是用来放数据的,和指针没关系,指针域是用来存放next指针,指向该节点的下一个结点,这样个个节点之间都有链接)。
不知道我讲的通不通俗,希望有帮助
热心网友
时间:2023-11-06 11:33
题意应该是把节点s 插入到节点p后面吧
节点s是准备插入的一个节点
有问题可以问我
热心网友
时间:2023-11-06 11:33
第一步,当s被重新赋值以后,请问,插入这个操作还有什么意义吗?你要插入的是s吧?那么s还能被重新赋值?
第二步,当s被赋值成p->next之后,那么p->next是不是就是s?然后再来一个p->next=s->next,那这里到底是不是在插入s?你这两步操作之后,根本没s什么事情。不懂的话直接hi我
热心网友
时间:2023-11-06 11:34
比如:现在有两个节点A,C
A->next 指向C (a->c)
现在在A、C中间插入一个B(B->next=NULL) , (形成a->b->c)
操作过程:
(1)将B->next指向C: B->next=A->next (我们只能通过A->next 找到C,此时形成b->c)
(2)再将A->next 指向B: A->next =B (此时形成a->b->c)
这里的A就是你说的p,B就是你说的s
这样好理解了吧
热心网友
时间:2023-11-06 11:35
你要想单连表是怎样连起来的,有两个元素,一个是他的next指向的植,另一个是谁的next指向他,
答案出来了,s->next=p; p->next=s