早教吧作业答案频道 -->其他-->
请利用两个栈S1和S2来模拟一个队列。已知栈的三个运算定义如下:PUSH(ST,x):元素x入ST栈;POP(ST,x):ST栈
题目详情
请利用两个栈S1和S2来模拟一个队列。已知栈的三个运算定义如下:PUSH(ST,x):元素x入ST栈;POP(ST,x):ST栈
▼优质解答
答案和解析
假设两个栈 A 和B,且都为空。
可以认为栈 A 为提供入队列的功能,栈 B 提供出队列的功能。
入队列: 入栈 A
出队列:
1 如果栈B 不为空,直接弹出栈 B 的数据。
2 如果栈 B 为空,则依次弹出栈 A 的数据,放入栈 B 中,再弹出栈 B 的数据。
可以认为栈 A 为提供入队列的功能,栈 B 提供出队列的功能。
入队列: 入栈 A
出队列:
1 如果栈B 不为空,直接弹出栈 B 的数据。
2 如果栈 B 为空,则依次弹出栈 A 的数据,放入栈 B 中,再弹出栈 B 的数据。
看了 请利用两个栈S1和S2来模拟...的网友还看了以下:
一个修路队4小时修九分之二千米,平均每小时修路多少千米?照这样的速度,这个修路队一天(按八小时算) 2020-05-14 …
设栈s和队列Q的初始状态为空,元素a、b、c、d、e和f依次通过栈s,一个元素出栈后即进入队列Q, 2020-05-23 …
● 设栈 s 和队列 q 的初始状态为空,元素 a、b、c、d、e 依次进入栈 s,当一个元素从栈中 2020-05-26 …
设栈s和队列q的初始状态为空,元素a、b、c、d、e依次进入栈s,当一个元素从栈中出来后立即进入队列 2020-05-26 …
下列叙述中错误的是A、在带链队列中,队头指针和队尾指针都是在动态变化的B、在带链栈中,栈顶指针是在 2020-06-26 …
设栈S和队列Q的初始状态为空…………设栈S和队列Q的初始状态为空,元素a1、a2、a3、a4、a5 2020-06-28 …
关于栈和队列的问题设有栈S和队列Q,其初始状态为空,元素a1,a2,a3,a4,a5,a6依次入栈 2020-06-28 …
设栈S和队列Q的初始状态皆为空,元素a1,a2,a3,a4,a5和a6依次通过一个栈,一个元素出栈 2020-07-09 …
数据结构问题求助11.设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次通过 2020-07-10 …
一列长为S的队伍以速度V1沿笔直的公路匀速前进,一个传令兵以较快的速度V2从队末向队首传递文件,又 2020-07-13 …