单链表插入头结点后的指针操作
单链表的指针域为'next',其头结点由指针'head'指向,则把指针'p'指向的结点链接到头结点之后的语句序列为( )。
A. 'p.next=head.next; head.next=p'
B. 'head.next=p; p.next=head.next;'
C. 'head.next = p.next; p= head.next'
D. 'p.next=head; head=p'
正确答案: A
解析:
-
选项A: 首先将'p'的'next'指向'head'的'next',即'p'指向的结点指向原来头结点的下一个结点;接着将'head'的'next'指向'p',即头结点的下一个结点指向'p'指向的结点。这样就完成了将'p'指向的结点插入到头结点之后的操作。
-
选项B: 首先将'head'的'next'指向'p',即头结点的下一个结点指向'p'指向的结点;接着将'p'的'next'指向'head'的'next',即'p'指向的结点指向原来头结点的下一个结点。这个操作实际上是将'p'指向的结点插入到头结点之前,而不是之后。
-
选项C: 该选项错误,因为将'head.next'指向'p.next'后,'p.next'指向的结点成为了头结点的下一个结点,但原先的'p.next'被丢弃,导致链表断裂。
-
选项D: 该选项错误,因为将'p.next'指向'head'后,'p'指向的结点成为了新的头结点,而原来的头结点成为了'p'指向的结点的下一个结点,导致链表的顺序被打乱。
总结: 选项A是正确的,因为它正确地将'p'指向的结点插入到头结点之后,并保证了链表的完整性。
原文地址: http://www.cveoy.top/t/topic/pb4B 著作权归作者所有。请勿转载和采集!