在数据结构中链表是( )
A. 顺序存储的线性表结构
B. 非顺序存储的线性表结构
C. 非顺序存储的非线性表结构
D. 顺序存储的非线性表结构
参考答案 B
链表并不要求存储元素的地址是挨着的,也就是说不要求是顺序存储的线性表。
线性表中共有2n个元素,则下列( )选项的操作最适合用链表存储
A. 删除所有值为x的元素
B. 在最后一个元素的后面插入一个新元素
C. 顺序输出前k个元素
D. 交换第i个元素和第2n-i-1个元素的值
参考答案 A
链表在插入和删除元素的时候,效率是非常高的,所以选A。
链表不具有的特点是 ( )
A. 插入删除不需要移动元素
B. 不必事先估计存储空间
C. 所需空间与线性表长度成正比
D. 可随机访问任一元素
参考答案 D
随机访问是顺序表的特点。
链表的访问,没有下标的概念,必须从链表头开始遍历查找。
线性表若采用链表存储结构,则要求内存中可用的存储单元地址( )
A. 必须连续
B. 部分地址必须连续
C. 一定不连续
D. 连续或不连续都可以
参考答案 D
答案比较明显,链表元素存储地址并不要求连续。
以下哪组操作能完成在双向循环链表结点 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;
参考答案 D
遇到这种题目,直接画图就很直观,一定要注意顺序。