已知L是一个不带表头的单链表, 在表首插入结点*p的操作是( )。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了已知L是一个不带表头的单链表, 在表首插入结点*p的操作是( )。相关的知识,希望对你有一定的参考价值。

参考技术A 选择C,你要明白,p是指针,L也是指针。如题意,不需要考虑表头的情况。开始时,链表的first节点是L,而我们需要将p插入到L之前。所以我们需要将p链接到L所指的内存上,p->link
=
L。然后,因为我们要保持链表L不变,也就说L指针是在表首的,所以说要把
这时链表的(表首指针)P的值赋给L指针。

7. 在一个不含头结点的单链表HL中,若要向表头插入一个由指针p指向的结点,则执行 。

7. 在一个不含头结点的单链表HL中,若要向表头插入一个由指针p指向的结点,则执行 。
A. HL=p; p->next=HL;
B. p->next=HL; HL=p;
C. p->next=HL; p=HL;
D. p->next=HL->next; HL->next=p;

参考技术A B

新结点的next指向头结点
头结点指向p追问

能解释下吗?

追答

HL->节点2->节点3->节点4->null

HL->p->节点2->节点3->节点4->null
这样清楚了吧

追问

谢谢哦

追答

HL(节点1)->节点2->节点3->节点4->null

p->(节点1)->节点2->节点3->节点4->null

然后HL指向p
HL(p的新节点)->原节点1->原节点2->原节点3->原节点4->null

这样清楚了吧

参考技术B 选择最后一个答案D,我们刚做过的复习题

以上是关于已知L是一个不带表头的单链表, 在表首插入结点*p的操作是( )。的主要内容,如果未能解决你的问题,请参考以下文章

7. 在一个不含头结点的单链表HL中,若要向表头插入一个由指针p指向的结点,则执行 。

编写不带头结点单链表的插入操作和删除操作算法

数据结构与算法学习笔记

2-12在一个单链表head中,若要在指针p所指结点后插入一个q指针所指结点,则执行()?

循环链表的建立及各种操作

无头结点单链表 在头指针处插入元素