在一个长度为n(n>1)的单链表上,设有头和尾两个指针,下列操作与链表长度有关的是()

在一个长度为n(n>1)的单链表上,设有头和尾两个指针,下列操作与链表长度有关的是()


A、

删除单链表中的第一个元素


B、

删除单链表中的最后一个元素


C、

在单链表中第一个元素前插入一个新元素


D、

在单链表中最后一个元素后插入一个新元素


【正确答案】:B
【题目解析】:

单链表如图:


B:尾指针是指向最后一个元素(结点)的指针,与头指针类似。

当删除单链表中的最后一个元素时,由于不是双向链表,所以要从头指针开始,一直遍历直到倒数第二个元素,将倒数第二个元素(结点)指向NULL,释放原末端元素(结点)空间后,将尾指针等于新的末端元素(结点)。所以与链表长度有关。故选B。

A:当删除单链表中的第一个元素时只需要将头指针指向第二个元素,然后释放第一个元素储存空间申请的内存。与链表长度无关。

C:在单链表第一个元素前插入一个新元素时,只需要把新的元素(结点)指向原来的第一个元素(结点),然后使头指针指向新的元素(结点)。与链表长度无关。

D:在单链表最后一个元素后插入一个新元素时,只需先将新结点指向NULL,然后将尾指针指向的原末端结点指向新的元素(结点),最后将尾指针指向新的元素(结点)。与链表长度无关。


Top