链表选择题练习

本文是一组关于链表操作的选择题及解析,包括新结点的插入、链表遍历、双向链表操作以及循环链表的问题。解析详细解释了每个选项的正确与否,并涉及时间复杂度分析和广义表的概念。
摘要由CSDN通过智能技术生成

1、已知 pPre 为指向链表中某结点的指针, pNew 是指向新结点的指针,以下哪段伪码算法是将一个新结点插入到链表中 pPre 所指向结点的后面?(C
A pPre->link = pNew; pNew = null;
B pPre->link = pNew->link; pNew->link = null;
C pNew->link = pPre->link; pPre->link = pNew;
D pNew->link = pPre->link; pPre->link = null;
题解:
首先将旧结点的指针域(即pPre->Link,它存放着接下来的那个结点的地址)赋值给新结点的指针域(pNew- >Link),这一步是因为:为了完成插入,新结点应该指向旧结点原来指向的元素。
然后将指向新结点的指针(pNew,即新结点的地址)赋值给旧结点的指针域(pPre->Link),以让旧结点指向新结点。

2、在具有 n 个结点的单链表中,实现( A )的操作,其算法的时间复杂度都是 O
(n)
A、遍历链表或求链表的第 i 个结点
B、在地址为 P 的结点之后插入一个结点
C、删除开始结点
D、删除地址为 P 的结点的后继结点
题解:
B,D答案的意思是只是针对插入和删除这个动作的时间复杂度是多少&#x

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值