首页 > 试题广场 >

有一个单向链表,头指针和尾指针分别为p,q,以下哪项操作的复

[不定项选择题]
有一个单向链表,头指针和尾指针分别为p,q,以下哪项操作的复杂度不受队列长度的影响?
  • 删除头部元素
  • 删除尾部元素
  • 头部元素之前插入一个元素
  • 尾部元素之后插入一个元素
一粗心就把所有选项选上了 要删除最后一个节点,需要知道前一个节点,由于是单链表,不能直接由尾部节点得到前一个节点
发表于 2015-07-06 14:06:08 回复(1)
ACD B删除尾部元素,需要找到尾部元素的前一个元素,与队列长度有关
发表于 2015-04-01 12:05:44 回复(7)
虽然给出了尾指针,但是单链表删除还要知道前一节点,所以还是要遍历一遍才能知道尾指针前一节点 既与队列长度有关
发表于 2016-09-09 20:36:13 回复(1)
题目已经给出头指针和尾指针,p和q,所以对头指针删除,在头指针之前加入元素,在尾指针之后加入元素都可以直接操作,凡是只利用头指针和尾指针的指针域就可以完成的操作,时间复杂度都与队列长度无关。但是删除尾指针需要对尾指针的前一个元素的指针域做修改,所以还是要遍历单链表,与链表长度有关。
发表于 2018-04-11 12:37:38 回复(0)
  • 删除结点,需要修改前驱结点的指针域跳过当前结点
  • 插入结点,修改当前结点和插入结点的指针域

  • So:

    • A:修改头指针的指针域,跳过头部元素
    • B:需要修改尾部元素(尾指针指向结点)的前驱结点指针域,遍历后得到,与长度相关
    • C:修改头指针和插入元素的指针域
    • D:修改尾指针指向结点(尾部元素)的指针域
发表于 2018-01-18 15:25:42 回复(0)
题目中已经给出了尾结点的指针,所以删除尾结点时,不用再去查找尾结点了,故删除和链表的长度无关。做题一定要注意题意的理解 。

发表于 2016-05-02 20:45:56 回复(3)
D,
发表于 2014-11-21 12:29:57 回复(0)
因为有尾指针,所以尾部元素之后插入一个元素不受链的长度影响.
发表于 2022-03-15 16:17:32 回复(0)
A.删除头部元素,因为有头指针,可使头指针向后移一个 free操作 B.删除尾部元素需要使前一个节点next指向null 做free操作 因为是单向链表,所以要进行遍历寻找倒数第二个节点 C.头部插入一个元素 malloc申请一块空间,使其next指向头结点,然后移动头指针 D.尾部插入一个元素,malloc申请一块空间,因为已知尾指针,使最后一个节点next指向该空间,并使其指向null.
发表于 2022-02-21 01:51:59 回复(3)
这个题的答案是错误的吧?
发表于 2015-04-11 17:37:13 回复(0)
如果题目中的“不受队列长度”是指用队列实现的单向链表,则受长度影响的操作有:
B 删除尾部元素 C头部元素之前插入元素

如果题目中的“不受队列长度影响”的不是上面的意思,就是一般的单向链表,通过指针实现的单向链表,那么答案应该只有B
发表于 2015-03-24 10:15:21 回复(0)
一不留神把最后一个忘选了
发表于 2023-11-03 18:42:54 回复(0)
删除尾部元素,直接q=null不行吗?
发表于 2023-07-24 09:55:23 回复(1)
b;先遍历,再删除
发表于 2023-05-05 14:56:28 回复(0)
单链表不能从尾结点直接得到前一个结点,因为单链表只知道头结点的地址,需遍历一遍才能找到。判断条件市p->next->next == null; 或 p->next == 尾指针(有尾指针)
当前节点的下一个节点的next指针为空。
发表于 2022-08-02 21:08:44 回复(0)
因为删除尾部元素之后尾指针需要重新指向其前一个元素,而找到尾指针的前一个元素受队列长度影响
发表于 2022-05-22 16:33:10 回复(0)
单链表要想删除最后一个元素必须要找到他的前一个元素,因此需要遍历得到前一个元素,因此要考虑链表长度问题
发表于 2021-06-05 13:44:06 回复(0)
在题目里。已经知道了尾部元素,所以删除尾部元素是可以的,不需要知道长度,删除尾部元素,需要知道尾部元素之前的元素,和长度有关。
发表于 2020-06-05 21:39:18 回复(0)
删队尾要知道倒数第二个元素
发表于 2020-03-16 18:23:41 回复(0)
单链表,需要遍历才能找到最后一个结点,不能根据尾指针找到尾结点
发表于 2019-12-01 18:34:42 回复(0)