第1题:
将编号为0和1的两个栈存放于一个数组空间V[m]中,栈底分别处于数组的两端。当第0号栈的栈顶指针top[0]等于-1时该栈为空,当第1号栈的栈顶指针top[1]等于m时该栈为空。两个栈均从两端向中间增长。试编写双栈初始化,判断栈空、栈满、进栈和出栈等算法的函数。双栈数据结构的定义如下:
Typedef struct
{int top[2],bot[2]; //栈顶和栈底指针
SElemType *V; //栈数组
int m; //栈最大可容纳元素个数
}DblStack
第2题:
:A数据元素的类型不同
B运算是否受限制
C数据元素的个数不同
D逻辑结构不同
第3题:
设栈的顺序存储空间为S(0:49),栈底指针bottom=49,栈顶指针top=30(指向栈顶元素)。则栈中的元素个数为()。
A.30
B.29
C.20
D.19
第4题:
如果在数据结构中每个数据元素只可能有一个直接前驱,但可以有多个直接后继,则该结构是 ( )
A.栈
B.队列
C.树
D.图
第5题:
A、不变
B、top=n
C、top++
D、top--
第6题:
此题为判断题(对,错)。
第7题:
假设用-个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有的元素个数为( )。
A.50
B.19
C.1
D.20
第8题:
设栈的存储空间为S(1:50),初始状态为top=51。现经过一系列正常的入栈与退栈操作后,top=20,则栈中的元素个数为()。
A.31
B.30
C.21
D.20
第9题:
如果以链表为栈的存储结构,则退栈操作是______。
A.必须判别栈是否满
B.必须判别栈是否空
C.判别栈元素的类型
D.刘栈不作任何判别
第10题:
若需将一个栈S中的元素逆置,则以下处理方式中正确的是(63)。
A.将栈S中元素依次出栈并入栈T,然后将栈T中元素依次出栈并进入栈S
B.直接交换栈顶元素和栈底元素
C.将栈S中元素依次出栈并入队,然后使该队列元素依次出队并进入栈S
D.直接交换栈顶指针和栈底指针