CSP初赛复习-14-数据结构-链表-练习题
PDF及答案公众号回复关键字:CSPC14

1 双向链表中有两个指针域 llink
和 rlink
,分别指向该结点的前驱及后继。设 p 指向链表中的一个结点,它的左右结点均非空。现要求删除结点 p,则下面语句序列中错误的是( )
A p->rlink->llink = p->rlink;p->llink->rlink = p->llink; delete p;
B p->llink->rlink = p->rlink; p->rlink->llink = p->llink; delete p;
C p->rlink->llink = p->llink;p->rlink->llink->rlink = p->rlink; delete p;
D p->llink->rlink = p->rlink;p->llink->rlink->llink = p->llink; delete p;
2 在含有 n 个元素的双向链表中查询是否存在关键字为 k 的元素,最快情况下运行的时间复杂度是( )。
A O(1)
B O(logn)
C O(n)
D O(nlogn)
3 对长度为 n 的有序单链表,若检索每个元素的概率相等,则顺序检索到表中任一元素的平均检索长度为( ).
A n/2
B (n+1)/2
C (n-1)/2
D n/4
4 明和变量定义,如图所示,指针 p,q,r 分别指向一个链表中的三个续结点
struct node {
int data;
struct node *next;
} *p,*q,*r;
现要将 q 和 r 所指结点的先后位置交换,同时要保持链表的连续,以下程序段中错误的是( )
A q->next = r->next; p-> next = r; r->next = q;
B p->next = r; q->next = r->next; r->next = q;
C q->next = r->next; r->next = q; p->next = r;
D r->next = q; q->next = r->next; p->next = r;
5 链表不具有的特点是( )
A 不必事先估计存储空间
B 可随机访问任一元素
C 插入删除不需要移动元素
D 所需空间与线性表长度成正比
6 线性表若采用链表存储结构,要求内存中可用存储单元地址( )。
A 必须连续
B 部分地址必须连续
C 一定不连续
D 连续不连续均可
7 双向链表中有两个指针域,llink
和 rlink
,分别指回前驱及后继,设 p 指向链表中的一个结点,q 指向一待插入结点,现要求在 p 前插入 q,则正确的插入为( )
A p->llink = q; q->rlink = p; p->llink->rlink = q;q->llink = p->llink;
B q->llink = p->llink; p->llink->rlink = q; q->rlink = p;p->llink = q->rlink
C q->rlink = p; p->rlink = q;p->llink->rlink = q; q->rlink = p;
D p->llink->rlink = q; q->rlink = p;q->llink = p->llink; p->llink = q;
作者:newcode 更多资源请关注纽扣编程微信公众号
从事机器人比赛、机器人等级考试、少儿scratch编程、信息学奥赛等研究学习