请利用两个栈s1 和s2 来模拟一个队列。己知栈的三个运算定义如下。PU3H(ST,x) :元素x 入ST 栈;PoP(ST,x) :ST 栈项元素出栈,赋给变量x ;Sempty(ST) :判ST 栈空否。那么如何用栈的运算来实现该队列的三个运算:enqueue :插入一个元素入队列;dequeue :删除一个元素出队列;queue_empty :判队列为空。( 请写明算法的思想及必要的注释)-笔试面试资料

这是qklbishe.com第19963 篇笔试面试资料
提供答案分析,通过本文《请利用两个栈s1 和s2 来模拟一个队列。己知栈的三个运算定义如下。PU3H(ST,x) :元素x 入ST 栈;PoP(ST,x) :ST 栈项元素出栈,赋给变量x ;Sempty(ST) :判ST 栈空否。那么如何用栈的运算来实现该队列的三个运算:enqueue :插入一个元素入队列;dequeue :删除一个元素出队列;queue_empty :判队列为空。( 请写明算法的思想及必要的注释)-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:

请利用两个栈s1s2来模拟一个队列。己知栈的三个运算定义如下。PU3H(ST,x):元素xST栈;PoP(ST,x)ST栈项元素出栈,赋给变量xSempty(ST):判ST栈空否。那么如何用栈的运算来实现该队列的三个运算:enqueue:插入一个元素入队列;dequeue:删除一个元素出队列;queue_empty:判队列为空。(请写明算法的思想及必要的注释)

请利用两个栈s1 和s2 来模拟一个队列。己知栈的三个运算定义如下。PU3H(ST,x) :元素x 入ST 栈;PoP(ST,x) :ST 栈项元素出栈,赋给变量x ;Sempty(ST) :判ST 栈空否。那么如何用栈的运算来实现该队列的三个运算:enqueue :插入一个元素入队列;dequeue :删除一个元素出队列;queue_empty :判队列为空。( 请写明算法的思想及必要的注释) 来学习的小张
class MyQueue { 	//初始化两个队列     private Stack<Integer> s1;//s1入队的栈     private Stack<Integer> s2;//s2出队的栈     //入队列指定到s1     //出队列,每次出s2的栈顶元素,如果s2是空的,那么把s1里面的元素全部倒过来s2,再出     public MyQueue() {         s1 = new Stack<>();         s2 = new Stack<>();     }     public void push(int x){         s1.push(x);     }     public int pop(){         if(empty()){             return -1;         }         if(s2.empty()){             while(!s1.empty()){                 int x = s1.pop();                 s2.push(x);             }         }             return s2.pop();         }     public int peek(){             if(empty()){             return -1;         }         if(s2.empty()){             while(!s1.empty()){                 int x = s1.pop();                 s2.push(x);             }           }             return s2.peek();        }                  public boolean empty(){             return s1.empty() && s2.empty();         }     } 

2022-01-09 16:54:55 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 请利用两个栈s1 和s2 来模拟一个队列。己知栈的三个运算定义如下。PU3H(ST,x) :元素x 入ST 栈;PoP(ST,x) :ST 栈项元素出栈,赋给变量x ;Sempty(ST) :判ST 栈空否。那么如何用栈的运算来实现该队列的三个运算:enqueue :插入一个元素入队列;dequeue :删除一个元素出队列;queue_empty :判队列为空。( 请写明算法的思想及必要的注释)-笔试面试资料

提供最优质的资源集合

立即查看 了解详情