分类
Level4

指针和链表

1、在内存储器中每个存储单元都被赋予一个唯一的序号,称为( )。
A.地址
B.序号
C.下标
D.编号
2、运行以下代码片段的行为是( )。
A.将 x 的值赋为 201
B.将 y 的值赋为 101
C.将 q 指向 x 的地址
D.将 p 指向 y 的地址
3、链表和数组的区别包括( )。
A.数组不能排序,链表可以
B.链表比数组能存储更多的信息
C.数组大小固定,链表大小可动态调整
D.以上均正确
4、链表不具有的特点是( )
A.不必事先估计存储空间。
B.插入、删除不需要移动元素
C.可随机访问任一元素
D.所需空间与线性表长度成正比
5、有以下结构体和变量说明定义,如图所示,指针 p、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;
6、线性表若采用链表存储结构,要求内存中可用( )。
A.必须连续
B.部分地址必须连续
C.一定不连续
D.连续不连续均可
7、对长度为 n 的有序单链表,若检索每个元素的概率相等,则顺序检索到表中任一元素的平均检索长度为( )。
A.(n+1)/2
B.n/2
C.(n-1)/2
D.n/4
8、在含有 n 个元素的双向链表中查询是否存在关键字为 k 的元素,最坏情况下运行的时间复杂度是( )。
A.O(1)
B.O(n)
C.O(logn)
D.O(nlogn)
9、以下哪组操作能完成在双向循环链表结点 p 之后插入结点 s 的效果(其中,next 域为结点的直接后继,prev 域为结点的直接前驱):( )。
A.p->next->prev=s; s->prev=p; p->next=s; s->next=p->next;
B.p->next->prev=s; p->next=s; s->prev=p; s->next=p->next;
C.s->prev=p; s->next=p->next; p->next=s; p->next->prev=s;
D.s->next=p->next; p->next->prev=s; s->prev=p; p->next=s;
10、已知L是带头节点的单链表,节点P既不是头节点(第一个节点),也不是尾节点,删除P节点直接后继节点的语句序列是( )
A、P = P -> next;
B、P -> next = P;
C、P – > next = P -> next -> next;
D、P=P -> next -> next;