线性表采用链式存储结构时,各个数据元素的存储单元地址一定是不连续的。
线性表L如果需要频繁地进行不同下标元素的插入、删除操作,此时选择顺序存储结构更好。
栈结构不会出现溢出现象。
栈是一种特殊的线性表,它的插入和删除操作分别在表的两端进行。
可以通过少用一个存储空间的方法解决循环队列中队空和队满条件的区分。
循环队列执行出队操作时会引起大量元素的移动。
栈是插入和删除只能在一端进行的线性表;队列是插入在一端进行,删除在另一端进行的线性表。
将长度分别为m,n的两个单链表合并为一个单链表的时间复杂度为O(m+n)。
线性表采用链式存储表示时,所有结点之间的存储单元地址可以连续也可以不连续。
队列和栈都是运算受限的线性表,只允许在表的两端进行运算。
在后缀式计算时需要采用的是( )
运算符栈
运算数栈
运算符栈和运算数栈
不需要用栈
若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则不可能出现的出栈序列是
2,4,3,1,5,6
3,2,4,1,6,5
2,3,5,1,6,4
4,3,2,1,5,6
一个栈的输入序列为{2,3,4,1},出栈顺序可能为什么?()
{2,3,4,1}
{1,2,3,4}
{4,2,3,1}
{1,3,4,2}
顺序栈栈底到栈顶的元素依次为A,B,C,D。以下( )操作序列可以完成只删除元素B,其他元素仍然在栈中。
出栈 出栈 出栈 入栈 入栈
出栈 出栈 入栈 出栈 出栈
入栈 出栈 出栈 入栈 出栈
出栈 出栈 出栈 出栈 入栈
若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为
i我我
n-i
n-i+1
不确定
循环队列的队满条件为 ( )。
(sq.rear+1) % maxsize ==(sq.front+1) % maxsize
(sq.rear+1)% maxsize ==(sq.front+1)% maxsize
(sq.rear+1)% maxsize ==(sq.front+1)% maxsize
(sq.rear+1)% maxsize ==(sq.front+1)% maxsize
(sq.front+1) % maxsize ==sq.rear(sq.front+1)% maxsize ==sq.rear
(sq.front+1)% maxsize ==sq.rear
(sq.rear+1) % maxsize ==sq.front(sq.rear+1)% maxsize ==sq.front
(sq.rear+1)% maxsize ==sq.front
sq.rear ==sq.front后平方=前平方后平方=前平方
允许对队列进行的操作有()。
对队列中的元素排序
取出最近进队的元素
在队头元素之前插入元素
删除队头元素
设循环队列的元素存放在一维数组Q[0..29](下标为0到29)中,队列非空时,front指示队头元素位置,rear指示队尾元素的后一个位置。如果队列中元素的个数为11,front的值为25,则rear的值是( )
5
6
35
36
循环队列顺序存储在数组A[1..50]中,队头front和队尾rear的初值为0。如当前rear的值为10,front的值为35,则队列中的元素个数为( )。
45
25
10
35
用链表表示线性表的优点是
便于随机存取
花费的存储空间比顺序表少
便于插入与删除
数据元素的物理顺序与逻辑顺序相同
设栈S和队列Q的初始状态均为空,元素{1, 2, 3, 4, 5, 6, 7}依次进入栈S。若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是{2, 6, 5, 4, 7, 3, 1},则栈S的容量至少是:
以下运算实现在链栈上的进栈,请在空白处用请适当句子予以填充。
void Push(LStackTp *ls,DataType x){
LstackTp *p;p=malloc(sizeof(LstackTp));
;
p->next=ls;
}
数组q[M](M等于6)存储一个循环队,first和last分别指向首尾指针。已知first=2,last=5。当从队列中删除一个元素,再插入两个元素后,first=