若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。
A.单链表
B.仅有头指针的单循环链表
C.双链表
D.仅有尾指针的单循环链表
A.单链表
B.仅有头指针的单循环链表
C.双链表
D.仅有尾指针的单循环链表
A.单链表
B.双链表
C.带头结点的双循环链表
D.容量足够大的顺序表
:A单链表
B给出表头指针的单循环链表
C双向链表
D给出表尾指针的双向循环链表
A.单链表
B.仅有头结点的单循环链表
C.双链表
D.仅有尾指针的单循环链表
A.删除所有值为x的元素
B.在最后一个元素的后面插入一个新元素
C.顺序输出前k个元素
D.交换第i个元素和第n-i-1个元素的值(i=1,1,n)
A.非循环双链表
B.循环双链表
C.只有表尾指针没有表头指针的循环单链表
D.只有表头指针没有表尾指针的循环单链表
A.存在唯一的一个被称作”第一个“的数据元素
B. 不存在唯一的一个被称作”第一个“的数据元素
C. 存在唯一的一个被称作”最后一个“的数据元素
D. 不存在唯一的一个被称作”最后一个“的数据元素
双端队列(duque)是一个可以在任一端进行插入和删除的线性表。现采用一个一维数组作为双端队列的数据存储结构,使用c语言描述如下: deftne maxsize 32{数组中可容纳的元素个数} typedef struct { datatype elem[maxsize]; int endl,end2; }duque; 试编写两个算法add(duque QU,datatype x,int tag)和delete(duque QU,datatype&x,int tag)用以在此双端队列的任一端进行插入和删除。当tag=0时在左端endl端操作,当tag=1时在右端end2端操作。