设A是一个已有10个元素的栈,栈中依次是A1,.A2,…,A10,栈顶是A10;B是一个已有10个元素的循环队列,队列中元素依次为B1,B2,…,B10,队头元素为B1。A、B均采用顺序结构,现要将栈中元素全部移人队列中,需( )次基本操作才能使得队

admin2019-12-10  27

问题 设A是一个已有10个元素的栈,栈中依次是A1,.A2,…,A10,栈顶是A10;B是一个已有10个元素的循环队列,队列中元素依次为B1,B2,…,B10,队头元素为B1。A、B均采用顺序结构,现要将栈中元素全部移人队列中,需(    )次基本操作才能使得队列中元素与栈中元素交替排列,即B中排列后的元素为B1,A1,B2,A2,…,B10,A10。(不必考虑存储空间)

选项 A、100
B、1000
C、50
D、20

答案A

解析 操作如下:(1)先将栈中所有元素出栈(10次),入队列(10次),栈为空,队列中的元素为B1,B2,…,B10,A10,A9,…,A1;(2)将 B1,B2,B3,…,B10出队列(10次),入队列(10次),则队列变为A10,…,A2,A1,B1,B2,…,B10;(3)将 A10,A9,…,A1出队列(10次),人栈(10次),栈中自栈底至栈顶依次为A10,…,A3,A2,A1,队列中剩下B1,B2,…,B10;(4)重 复执行10次Bi出队列(1次),入队列(1次),Ai出栈(1次),入队(1次),则最终得到B1,A1,B2,A2,…,B10,A10。
转载请注明原文地址:https://kaotiyun.com/show/Dn3i777K
0

相关试题推荐
最新回复(0)