有一个非空循环双链表,在结点p之前插入结点q的操作是( )。
A. p.prior=q; q.next=p; p.prior.next=q; q.prior=p.prior;
B. p.prior=q; p.prior.next=q; q.next=p; q.prior=p.prior;
C. q.next=p; q.prior=p.prior; p.prior=q; p.prior.next=q;
D. q.next=p; q.prior=p.prior; p.prior.next=q; p.prior=q;
查看答案
设一个顺序表L(最多可存放100个元素)目前有3个元素,第i(1≤i≤3)个元素存放在L.data[i-1]中,若把一个新元素存入L.data[5],则( )。
A. 会产生运行错误
B. L.data[0]~L.data[5]不构成一个顺序表
C. 顺序表的长度大于顺序表元素个数,会降低存储空间的利用率
D. 以上都不对
在长度为n的( )上,删除尾结点的时间复杂度为O(1)。
A. 单链表
B. 双链表
C. 循环单链表
D. 循环双链表
与非循环单链表相比,循环单链表的主要优点是( )。
A. 不再需要头结点
B. 已知某个结点能够容易找到它的前驱结点
C. 在进行插入、删除操作时,能更好地保证链表不断开
D. 从表中任意结点出发都能遍历整个链表
一个顺序表所占用存储空间的大小与( )无关。
A. 顺序表长度
B. 顺序表中元素的数据类型
C. 顺序表中元素各数据项的数据类型
D. 顺序表中各元素的存放次序