2-12在一个单链表head中,若要在指针p所指结点后插入一个q指针所指结点,则执行()?
在一个单链表head中,若要在指针p所指结点后插入一个q指针所指结点,则执行q->next=>next;p->next=q;
单链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) +指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。
扩展资料:
单链表特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。 通过指针连接起来,但是只能单向遍历的内存块。由于它是单向的,或者说不可逆的,所以我们可以把它比作我们的人生:小学->中学->大学->工作->养老。
链表是一种重要的数据结构,该结构由节点组成。每个节点包含两部分数据,第一部分是节点本身的数据,第二部分是指向下一个节点的指针。对于单向链表,链表中存在两个特殊的节点,分别为“头节点”和“尾节点”。头节点本身没有数据,只存储下一个节点的指针,尾节点只存储数据。
q->next = p->next; //让q指向p所指向的下一个节点,即解开p与其下一个节点的链,同时把q挂上
p->next = q; //让q成为p的下一个节点,即合上拆开的链
答案就是选择D
为什么呢
比如链表是这样的 head-->p-->NULL
head->next = p
p->next = NULL
执行q->next = p->next后,有
head->next = p
p->next = NULL
q->next = NULL
执行p->next = q,有
head->next = p
p->next = NULL(变成下面的4)
q->next = NULL
p->next = q
综合上述 1,4,3,链表为head-->p-->q-->NULL