早教吧 育儿知识 作业答案 考试题库 百科 知识分享

请利用两个栈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 的数据。
看了 请利用两个栈S1和S2来模拟...的网友还看了以下: