一、单选题(共18题,55分)

1、栈结构通常采用的两种存储结构是( )。 
A、 顺序存储结构和链表存储结构。 
B、 散列方式和索引方式。
C、 链表存储结构和数组。 
D、 线性链表结构和非线性存储结构。 
正确答案: A

这里就不解释了哈哈哈大家都懂

2、在栈操作中,输入序列为(A,B,C,D),不可能得到的输出的数列是( )。 
A、 (A,B,C,D) 
B、 (D,C,B,A) 
C、 (A,C,D,B) 
D、 (C,A,B,D) 
正确答案: D

每个都去尝试一下,你就会发现D是不可能的那个

3、设栈ST用顺序存储结构表示,则栈ST为空的条件是( )。 
A、 ST.top-ST.base<0 
B、 ST.top-ST.base==0 
C、 ST.top-ST.base<n 
D、 ST.top-ST.base==n 
正确答案: B

4、向一个栈顶指针为HS的链栈中插入一个s结点时,则执行( )。 
A、 HS->next=s; 
B、 s->next=HS->next; HS->next=s; 
C、 s->next=HS;HS=s; 
D、 s->next=HS;HS=HS->next; 
正确答案: C

5、从一个栈顶指针为HS的链栈中删除一个结点,用x保存被删结点的值,则执行( )。 
A、 x=HS;HS=HS->next; 
B、 HS=HS->next; x=HS->data; 
C、 x=HS->data;HS=HS->next; 
D、 s->next=HS;HS=HS->next; 
正确答案: C

先把这个节点的值用x存起来,再把指针后面移动,就相当于删除了栈顶的那个元素了

6、表达式a*(b+c)-d的后缀表达式是( )。 
A、 abcdd+- 
B、 abc+*d- 
C、 abc*+d- 
D、 -+*abcd 
正确答案: B

7、中缀表达式A-(B+C/D)*E的后缀形式是( ) 
A、 AB-C+D/E* 
B、 ABC+D/E* 
C、 ABCD/E*+- 
D、 ABCD/+E*- 
正确答案: D
解析:无

8、一个队列的入列序列是1,2,3,4,则队列的输出序列是( )。 
A、 4,3,2,1 
B、 1,2,3,4 
C、 1,4,3,2 
D、 3,2,4,1 
正确答案: B
解析:无

9、循环队列SQ采用数组空间SQ.base[0,n-1]存放其元素值,已知其头尾指针分别是front和rear,则判定此循环队列Q为空的条件是( )。 
A、 Q.ear-Q.front==n 
B、 Q.rear-Q.front-1==n 
C、 Q.front==Q.rear 
D、 Q.front==Q.rear+1 
正确答案: C
解析:无

10、循环队列SQ采用数组空间SQ.base[0,n-1]存放其元素值,已知其头尾指针分别是front和rear,则判定此循环队列Q为满队列的条件是( )。 
A、 Q.front==Q.rear 
B、 Q.front!=Q.rear 
C、 Q.front==(Q.rear+1)%n 
D、 Q.front!=(Q.rear+1)%n 
正确答案: C
解析:无

11、若在一个大小为6的数组上实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为( )。 
A、 1和5 
B、 2和4 
C、 4和2 
D、 5和1 
正确答案: B
解析:无

12、用单链表表示的链式队列的队头在链表的( )位置。 
A、 链头 
B、 链尾 
C、 链中 
正确答案: A
解析:无

13、判定一个链队列Q(最多元素个数为n)为空的条件是( )。 
A、 Q.front==Q.rear 
B、 Q.front!=Q.rear 
C、 Q.front==(Q.rear+1)%n 
D、 Q.front!=(Q.rear+1)%n 
正确答案: A
解析:无

14、在链队列Q中,插入s所指结点需顺序执行的指令是( )。 
A、 Q.front->next=s;Q.front=s; 
B、 Q.rear->next=s;Q.rear=s; 
C、 s->next=Q.rear;Q.rear=s; 
D、 s->next=Q.front;Q.front=s; 
正确答案: B
解析:无

15、在一个链队列Q中,删除一个结点的需要执行的指令是( )。 
A、 Q.rear=Q.front->next; 
B、 Q.rear->next=Q.rear->next->next; 
C、 Q.front->next=Q.front->next->next; 
D、 Q.front=Q.rear->next; 
正确答案: C
解析:无

16、用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时( )。 
A、 仅修改队头指针 
B、 仅修改队尾指针 
C、 队头、队尾指针都要修改 
D、 队头、对尾指针都可能要修改//万一里面只有一个队头那个结点了,就要修改队尾指针 
正确答案: D
解析:无

17、栈和队列的共同点( )。 
A、 都是先进后出 
B、 都是先进先出 
C、 只允许在端点处插入和删除元素 
D、 没有共同点 
正确答案: C
解析:无

18、消除递归( )需要使用栈。 
A、 一定 
B、 不一定 
正确答案: B
解析:无

二、填空题(共14题,42分)

1、栈的特点是____,队列的特点是____。 
正确答案: 
第1空:先进后出
第2空:先进先出

2、线性表、栈和队列都是____结构,线性表可以在线性表的____位置插入和删除元素;对于栈只能在____插入和删除元素;对于队列只能在____插入元素和____删除元素。 
正确答案: 
第1空:线性
第2空:任何
第3空:栈顶
第4空:队尾
第5空:队首

3、有程序如下,则此程序的输出结果(其中栈的元素类型SelemType为char)是____。
void main()
{ stack s;
char x,y;
initstack (s);
x=’c’; y=’k’;
push(s,x);push(s,’a’);push(s,y);
pop(s,y);push(s,’t’);push(s,x);
pop(s,x);push(s,’s’);
while(!stackempty(s)) {pop(s,y);printf(y);}
printf(y);

正确答案: 
第1空:stack

4、在栈顶指针为HS的链栈中,判定栈空的条件是____。 
正确答案: 
第1空:HS==NULL

5、向栈中压入元素的操作是先____,后____。 
正确答案: 
第1空: 移动栈顶指针 
第2空: 存入元素

6、对栈进行退栈时的操作是先____,后____。 
正确答案: 
第1空: 取出元素
第2空: 移动栈顶指针

7、用循环链表表示的队列长度为n ,若只设头指针,则出队和入队的时间复杂度分别是____和____;若只设尾指针,则出队和入队的时间复杂度分别是:____和____。 
正确答案: 
第1空: 1和n;   1和1

8、从循环队列中,删除一个元素时,其操作是____。 
正确答案: 
第1空:先取出元素,后移动队尾指针

9、在一个循环队列中,队首指针指向队首元素的____。 
正确答案: 
第1空:前一个位置

10、在具有n个单元的循环队列中,队满时共有____个元素。 
正确答案: 
第1空:n-1

11、在HQ的链队列中,判定只有一个结点的条件是____。 
正确答案: 
第1空:HQ.front==HQ.rear

12、设栈S和队列Q的初始状态为空,元素a,b,c,d,e,f依次通过栈S,一个元素出栈后即进入队列Q。若这6个元素出队列的顺序是b,d,c,f,e,a则栈S的容量至少应该是____。 
正确答案: 
第1空:3

13、有如下递归函数:
int dunno(int m)
{
int value;
if(m==0) value=3;
else value=dunno(m-1)+5;
return(value);
}

执行语句printf(“%d\n”,dunno(3));的结果是____。 
正确答案: 第1空:18

14、设a是含有N个分量的整数数组,写出求n个整数之和的递归定义____,写出求n个整数之积的递归定义____。 
正确答案: 
第1空: 
第2空:

数据结构——第三章 栈和队列相关推荐

  1. (王道408考研数据结构)第三章栈和队列-第三节1:栈的应用之括号匹配问题和表达式问题(前缀、中缀和后缀)

    前面我们就说过,栈是一种先进后出的线性表,这种先进后出的特性就决定了它在一类场合或问题中会经常被用到--递归.考研数据结构中所涉及的利用栈结构解决递归问题或者考察栈结构特性的问题主要有这么几类 括号匹 ...

  2. 数据结构-第三章-栈和队列(5)-链队

    数据结构 ⚡️数据结构-第一章 ⚡️抽象数据类型案例 ⚡️数据结构-第二章(1)-线性结构 ⚡️数据结构-第二章(2)-线性表的顺序表示和实现 ⚡️数据结构-第二章(3)-顺序表(含代码) ⚡️数据结 ...

  3. C语言数据结构-第三章栈和队列-电大同步进度

    第三章栈和队列简介 从数据结构角度看,栈和队列是两种重要的线性结构,是一类操作受限制的特殊线性表,其特殊性在于限制插入和删除等运算的位置. 堆栈,限制用户只能在指定的一端插入和删除元素,因此具有后进先 ...

  4. 王道考研408 数据结构 第三章 栈、队列与数组

    第三章 栈.队列与数组 3.1 栈 3.1.03 假设以I和O分别表示入栈和出栈操作.栈的初态和终态均为空,入栈和出栈的操作序列可表示为仅由I和O组成的序列,称可以操作的序列为合法序列,否则称为非法序 ...

  5. 王道数据结构课代表 - 考研数据结构 第三章 栈和队列 究极精华总结笔记

    本篇博客是考研期间学习王道课程 传送门 的笔记,以及一整年里对数据结构知识点的理解的总结.希望对新一届的计算机考研人提供帮助!!!   关于对 栈和队列 章节知识点总结的十分全面,涵括了<王道数 ...

  6. (王道408考研数据结构)第三章栈和队列-第一节:栈基本概念、顺序栈和链栈基本操作

    文章目录 一:栈基本概念 (1)栈的定义 (2)压栈和出栈 (3)进栈出栈变化形式 (4)栈的操作 二:栈的顺序存储结构及其操作实现 (1)顺序栈的定义 (2)进栈 (3)出栈 (4)读取栈顶元素 ( ...

  7. 王道408数据结构——第三章 栈和队列

    一.栈 栈(Stack)是只允许在一端进行插入或删除操作的线性表. 栈顶:线性表允许插入删除的那一端 栈底:固定的.不允许进行插入删除的另一端 栈的操作特性可以概括为后进先出(LIFO) n个不同的元 ...

  8. (王道408考研数据结构)第三章栈和队列-第五节:Java、C++、Python实现栈和队列

    专栏目录首页:[专栏必读]王道考研408数据结构+计算机算法设计与分析万字笔记.题目题型总结.注意事项.目录导航和思维导图 文章目录 一:栈的实现 (1)C语言实现 (2)C++实现 (3)Java实 ...

  9. (王道408考研数据结构)第三章栈和队列-第二节:队列基本概念、顺序栈和链栈基本操作

    文章目录 一:队列基本概念 (1)队列的定义 (2)入队和出队 (3)队列的操作 二:队列的顺序存储结构(循环队列)及其操作实现 (1)单纯的顺序存储的不足之处及font指针和rear指针 (2)循环 ...

最新文章

  1. IntelliJ IDEA 小技巧: Stream Trace 功能!
  2. 基于casperjs、resemble.js实现一个像素对比服务
  3. Nginx初探索之安装、启动、关闭和重启
  4. 如果生个儿子,一定得教他打篮球。
  5. 近年来,学习图像去雾不得不看的论文和源代码
  6. crontab导致磁盘空间满问题的解决
  7. 浮点数指数域(阶码)的存储格式
  8. RBAC 模型是什么?
  9. android 键盘按键监听
  10. 时间转换 Wed Sep 16 2020 00:00:00 GMT+0800 (中国标准时间)
  11. 崩坏3水晶计算 关于日期的计算篇 下
  12. 客户端专项测试-启动时间测试
  13. gitlab+jenkins 利用webhook自动构建代码
  14. python内建函数是什么_python的内建函数在什么位置
  15. VS2017 如何打包软件
  16. ESXi通过命令行创建并直通RDM磁盘
  17. 安装sql server踩坑记【sql2000程序安装配置服务器失败】
  18. 掌财社:看不懂NFT,了解这几幅画就好了
  19. java菜单项_java中菜单条和菜单项,详细解析
  20. 孩子幽门螺旋菌感染如何治疗?怎么办?别慌

热门文章

  1. 抢占智能制造“制高点” 个性化生产不可或缺
  2. Altium Designer,PCB生成CAD文件
  3. 家里扯了千兆网线网速还是上不去,看看这个对你有没有帮助
  4. linux-优化 PS1
  5. 【Python】如何下载Python编程快速上手—让繁琐工作自动化配套数据
  6. 看了撒贝宁的“躺平哲学”,才发现很多人不懂躺平,只会摆烂
  7. Web初学-2022.11.6-12.02
  8. ICN信息与中心网络介绍,ICN,NDN路由过程(简单易懂)
  9. 毕业设计/论文/答辩-微信小程序-店内点餐小程序
  10. uniapp进度条及下载单位转换