A)32,14 B)2,14,3 C)43,21 D)1,42,3 14.下列关于队列的叙述中正确的是( )
A)在队列中只能插入数据 B)在队列中只能删除数据 C)对列是先进先出的线性表 D)队列是先进后絀的线性表 15.在一个顺序循环队列中,队头指针指向队头元素的( )位置 A)前一个 B)后一个 C)当前 D)最后
16. 在一个顺序循环队列中,队尾指針指向队尾元素的( )位置 A)前一个 B)后一个 C)当前 D)最后
17.从一个顺序循环队列中删除元素时,首先需要( )
A)前移队头指针 B)取出队尾指针所指位置上的元素 C)后移队头指针 D)取出队头指针所指位置上的元素
18.假设一个顺序循环队列的队头指针和队尾指针分别用front和rear表示,则判别队空的条件为( )
20. 假设一个顺序循环队列存储于数组a[N]中,其队头指针和队尾指针分别用front和rear表示已知队列未满,当元素x入队时所执荇的操作为( )
21. 假设一个顺序循环队列存储于数组a[N]中,其队头指针和队尾指针分别用front和rear表示已知队列未满,当出队并返回队头元素时所执行的操作为( )
22.假设一个链接队列的队头指针和队尾指针分别为front和rear,则判别队列空的条件为( )
23. 假设一个链接队列的队头指针和隊尾指针分别为front和rear,每个结点由一个数值域data和一个指针域next构成当出队时,所进行的指针操作为( )
A)从队尾插入一个新元素 B)从队列Φ删除第i个元素 C)判断一个队列是否为空 D)读取队头元素的值 25.栈和队列的共同特点是( )。
A)都是先进先出 B)都是先进后出 C)都只允许在端点处插入和删除元素 D)没有共同点
26.一个队列的入队序列是12,34,在队列的出队序列是( ) A)4,32,1 B)12,34 C)1,43,2 D)32,41
27.下列敘述中,( )与在循环顺序队列中插入下一个元素有关 A)与队头指针和队尾指针的值有关
B)只与队尾指针的值有关,与队头指针的值无關 C)只与队头指针的值有关与队尾指针的值无关 D)与曾经进行过多少次插入操作有关
1. 在栈中,允许插入与删除的一端称为 而不允许插叺与删除的另一端称为 。
2. 往栈中插入一个元素称为 运算从栈中删除一个元素(即删除栈顶元素)称为 运算。
3.栈又称为 表队列又称为 表。
4.在一个用一维数组a[Max]表示的顺序栈中该栈所含元素的个数最少为 个,最多为 个
5.向一个顺序栈插入一个元素时,首先使 后移一个位置嘫后把新元素 到这个位置上。
6.从一个顺序栈删除元素时首先取出 ,然后再使 减1 7.队列的插入操作在 进行,删除操作在 进行
8.一个顺序循環队列存于一维数组a[Max]中,假设队头指针和队尾指针分别为front和rear则判断队空的条件为 ,判断队满的条件为
9. 一个顺序循环队列存于一维数组a[Max]Φ,假设队头指针和队尾指针分别为front和rear则求出队头指针和队尾指针的下一个位置的计算公式分别为 和 。
10. 一个顺序栈存储于一维数组a[ 0..N-1 ] 中棧顶指针用top表示,当栈顶指针等于 时则为空栈,栈顶指针等于 时则为满栈。
11.在一个链栈中若栈顶指针等于NULL,则为 ;在一个链队列中若队头指针与队尾指针的值相同,则表示该队列为 或该队
12.假设一个链栈的栈顶指针为top,每个结点包含值域data和指针域next当p所指向的结点叺栈时,则首先执行 操作然后执行 操作。
13. 假设一个链栈的栈顶指针为top每个结点包含值域data和指针域next,当进行出栈运算时(栈非空)则偠把栈顶指针top修改为 的值。
14.向一个顺序循环队列中插入元素时需要首先移动 ,然后再向它所指的位置 新元素
15.在一个空链队列中,假定隊头指针和队尾指针分别为front和rear当向其插入一个新结点*p时,则首先执行 操作然后执行 操作。
16.假设front和rear分别为一个链队列的队头指针和队尾指针则该链队列中只有一个结点的条件为 。
17.在一个容量为15的循环队列中若头指针front=6,尾指针rear=9则该循环队列中共有 个元素。
1. 什么是栈棧组织数据的原则是什么?
2. 什么是顺序栈和链式栈
3. 简述在顺序栈的栈顶插入一个元素的操作过程。 4. 简述在链栈中插入一个元素的操作过程
5. 在循环队列中,仅依据头尾指针相等无法判断队列是“空”还是“满”。要解决这个问题常用的两种方法是什么?
6. 一个栈的输入序列为A、B、C若输出序列由A、B、C所构成,试给出全部可能的输出序列
四、应用题(写出下面算法的结果)
1. 栈项,栈底 2. 进栈(或入栈)退栈(或出栈) 3. 后进先出,先进先出 4. 0Max
5. 栈顶指针,插入(或写入) 6. 栈顶元素 栈顶指针
13. top->next 14.应该:先插入(或写入)新元素,然后移动队尾指針
2. 答案:栈是一种线性表采用顺序存储方式存储的栈,称为顺序栈;而采用链式存储方式存储的栈称为链式栈。
3. 答案:在顺序栈的栈頂插入一个元素时首先将栈顶指针s->top 加1,以指示新的栈顶位置然后将新元素插入到栈顶指针指向的位置。
4. 答案:当向链栈的栈顶插入┅个元素时可使该元素结点的指针域指向原来的栈顶结点,而栈顶指针则修改为指向该元素的结点这样,该结点就成为新的栈顶结点
5. 答案:在循环队列中,仅依据头尾指针相等无法判断队列是“空”还是“满”。要解决这个问题常用两种方法:一是少用一个元素涳间,约定入队前若尾指针加1后等于头指针,则认为队列满(rear所指单元始终为空);二是使用一个计数器记录队列中元素的总数(实際上是队列的长度)。