资源简介 信息技术强化训练(一)栈、队列姓名:____________ 班级:____________ 学号:____________第 Ⅰ 部分 真题演练(共24分)1.[2025.1浙江选考T8] 有后缀表达式“13+2*3+2*”,现利用栈计算该表达式:从左向右扫描,遇到数字时,数字入栈;遇到运算符时,两个元素出栈,用运算符计算,所得结果入栈。如此反复操作,直到扫描结束,结束后栈顶元素是 ( )A. 21 B. 22 C. 23 D. 242.[2025.6 浙江选考T9] 某队列中,队首到队尾的元素依次为A、B、C、D、E。元素出队后直接输出或重新入队,若输出次序为B、D、C、E、A,则元素A重新入队的最少次数为 ( )A. 1 B. 2 C. 3 D. 43.[2024.1 浙江选考T8] 栈S从栈底到栈顶的元素依次为1、2、3,队列Q初始为空。约定:U操作是指元素出栈后入队,H操作是指元素出队后再入队。经过UUHU系列操作后,队列中队首到队尾的元素依次为 ( )A. 2,1,3 B. 3,1,2 C. 1,3,2 D. 2,3,14.[2024.6 浙江选考T9] 栈初始为空,经过一系列入栈、出栈操作后,栈又为空。若入栈的顺序为“生”“旦”“净”“末”“丑”,则所有可能的出栈序列中,以“旦”结尾的序列个数为 ( )A. 3 B. 4 C. 5 D. 65.[2023.1 浙江选考T9] 有一个队列,队首到队尾的元素依次为8、3、2、9、5。约定:T操作是指队列中1个元素出队后再入队,Q操作是指队列中1个元素出队。则经过TTTQTTQ系列操作后,队列中队首到队尾的元素依次为 ( )A. 2,9,5 B. 2,5,8 C. 5,8,2 D. 8,3,26.[2023.6 浙江选考T9] 栈S的最大长度为3,初始为空,经过一系列入栈、出栈操作,若元素入栈的顺序是ABCDEF,则可能的出栈序列为 ( )A. FEDCBA B. EBAFED C. CABDEF D. CEDBAF第 Ⅱ 部分 试题精选(共12分)7.[2025.6 浙南联盟T9] 有表达式“23+4*”依次入队,约定:T操作是队列中的1个元素出队后再入队,Q操作是队列中1个元素出队,现利用出入队操作将其转换成表达式“2+3*4”,则操作串是 ( )A. QTQTTTQTQT B. TTTQTQ C. QTQTTQTQQ D. TQQTTQTQ8.[2024.4 嘉兴二模T9] 队列q中队首至队尾元素依次为“A、B、C、D、E、F”,约定:S为出队操作,U为出队再入队操作,若要使队列q队首至队尾元素依次为“B、D、E”,下列操作可实现的是 ( )A. USUSSU B. SUSUUS C. SSSUUU D. SUUSUS9.[2023.12 嘉兴一模T8] 某队列经过“出队”“入队”操作后,队首指针head=2,队尾指针tail=6,则该队列中剩余的元素个数是 ( )A. 2 B. 4 C. 5 D. 610.[2024.5 稽阳二模T11] 队列Q从队首到队尾的元素依次为3、1、2,栈S初始为空。约定以下操作:H操作是指元素出队后再入队,T操作是指元素出队后入栈,P操作是指元素出栈。经过一系列操作后,最终出栈顺序为1、2、3,以下操作不可能的是 ( )A. TTPTPP B. HTTTPPP C. THTTPPP D. HTPTPTP第 Ⅲ 部分 原创试题(共14分)11. (2分) 后缀表达式 “6 2 * 4 / 3 1 + -”的计算规则为:数字入栈,遇到运算符时取栈顶两个元素运算并将结果入栈。最终栈顶元素是 ( )A. 2 B. 3 C. 4 D. 512.(2分) 循环队列存储空间为5,队首指针front=2,队尾指针rear=4。再执行两次入队操作后,队列中元素个数为 ( )A. 3 B. 4 C. 5 D. 613.(2分) 栈初始为空,入栈顺序为 "春→夏→秋→冬"。若要求出栈序列以"夏"结尾,则可能的序列有 ( )A. 3种 B. 5种 C. 6种 D. 8种14.(4分) 阅读以下Python代码:from collections import deque # 双端队列(队首出队popleft(),队尾入队append())q = deque(['X', 'Y', 'Z']) # 初始化队列:队首→队尾为 X→Y→Zs = []s.append(q.popleft())q.append(s.pop()) # 栈顶出栈并入队尾s.append(q.popleft())q.append(q.popleft())print("队列:", list(q))print("栈:", s)则上述程序执行后输出的结果是 ( )A. 队列: ['X', 'Z'] 栈: ['Y'] B. 队列: ['Z', 'X'] 栈: ['Y']C. 队列: ['X', 'Y'] 栈: ['Z'] D. 队列: ['Y', 'Z'] 栈: ['X']15.(4分) 阅读以下Python代码:s = []q = []result = []for val in [5, 3, 8]: # 依次入队q.append(val)s.append(q.pop(0)) # s.append(x):将元素x压入栈顶s.append(q.pop(0)) # s.pop():从栈顶弹出一个元素,并返回该元素result.append(s.pop())q.append(s.pop())s.append(q.pop(0))result.append(q.pop(0))result.append(s.pop())print(result)则上述程序执行后输出的结果是 ( )A. [3, 5, 8] B. [5, 3, 8]C. [8, 5, 3] D. [3, 8, 5]信息技术专项训练(一) 第 2 页 (共 2 页) 展开更多...... 收起↑ 资源预览