栈的相关题目

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 栈的相关题目
  1. [单选]

5个不同的元素依次进栈,能得到()种不同的出栈序列。

A. 21

B. 42

C. 24

D. 48

答案:B

解析:

根据栈的数学性质:n个不同的元素进栈,出栈元素不同排列的个数为\frac{1}{n+1}C_{2n}^n。将n=5代入公式,可得共有42种不同的出栈序列

  1. [单选]

若栈的输入序列为abcd,下面四个序列中,不可能为其输出序列的是()

A. dcba

B. abcd

C. dcab

D. cbda

答案:C

解析:

对于某个出栈的元素,在它之前进栈却晚出栈的元素一定是逆序出栈的;那么若出栈序列的第一个元素为d,则出栈序列只能是dcba, 显然C错误

  1. [单选]

设栈S的初始状态为空,元素abcdefg依次进入栈S,若出栈顺序是bedcfag,则栈S的容量至少是()

A. 2

B. 3

C. 4

D. 5

答案:C

解析:

由题意可得:元素的入栈出栈次序为push(a),push(b),pop(b),push(c),push(d),push(e),pop(e),pop(d),pop(c),push(f),pop(f),pop(a),push(g),pop(g);已知栈S初始容量为0,每做一次push操作进行加1操作,每做一次pop操作进行减1操作,记录容量的最大值为4,故选C

  1. [单选]

设有一个空栈,栈顶指针为1500H,每个元素需要一个存储单元,执行push、push、pop、push、push、pop、pop、push、push、pop、push操作后,栈顶指针的值为()

A. 1501H

B. 1502H

C. 1503H

D. 1504H

答案:C

解析:

每个元素需要一个存储单元,所以每次入栈一次top加1,出栈一次top减1。题目中进行了7次push操作,4次pop操作,7-4=3,那么现在栈顶指针为1503H

  1. [单选]

经过以下栈的操作后,变量y的值为()

InitStack(s);push(s,a);push(s,b);pop(s,b);push(s,c);pop(s,y);top(s,y)

A. a

B. b

C. c

D. d

答案:A

解析:

执行前5句后,栈s内的值为a,c,其中c为栈顶元素;执行第6句后,栈顶元素c出栈,y的值为c;执行最后一句,获取栈顶元素的值,y的值为a


目录
相关文章
|
11天前
|
算法 程序员 索引
数据结构与算法学习七:栈、数组模拟栈、单链表模拟栈、栈应用实例 实现 综合计算器
栈的基本概念、应用场景以及如何使用数组和单链表模拟栈,并展示了如何利用栈和中缀表达式实现一个综合计算器。
16 1
数据结构与算法学习七:栈、数组模拟栈、单链表模拟栈、栈应用实例 实现 综合计算器
|
11天前
初步认识栈和队列
初步认识栈和队列
36 10
|
5天前
数据结构(栈与列队)
数据结构(栈与列队)
11 1
|
11天前
|
算法
数据结构与算法二:栈、前缀、中缀、后缀表达式、中缀表达式转换为后缀表达式
这篇文章讲解了栈的基本概念及其应用,并详细介绍了中缀表达式转换为后缀表达式的算法和实现步骤。
28 3
|
10天前
|
存储 JavaScript 前端开发
为什么基础数据类型存放在栈中,而引用数据类型存放在堆中?
为什么基础数据类型存放在栈中,而引用数据类型存放在堆中?
37 1
|
13天前
|
存储 安全 Java
【用Java学习数据结构系列】探索栈和队列的无尽秘密
【用Java学习数据结构系列】探索栈和队列的无尽秘密
25 2
|
6天前
【数据结构】-- 栈和队列
【数据结构】-- 栈和队列
9 0
|
11天前
探索顺序结构:栈的实现方式
探索顺序结构:栈的实现方式
|
11天前
|
存储 C语言
栈和队列题目练习
栈和队列题目练习
12 0
|
13天前
|
C语言
数据结构------栈(Stack)和队列(Queue)
数据结构------栈(Stack)和队列(Queue)
14 0