栈————用栈实现队列

Posted pacino12134

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了栈————用栈实现队列相关的知识,希望对你有一定的参考价值。

技术图片

 1 class MyQueue 
 2 public:
 3     /** Initialize your data structure here. */
 4     MyQueue() 
 5         
 6     
 7     stack<int> a;
 8     stack<int> b;
 9     /** Push element x to the back of queue. */
10     void push(int x) 
11         a.push(x);
12     
13     
14     /** Removes the element from in front of queue and returns that element. */
15     int pop() 
16         int len=a.size();
17         for(int i=0;i<len;i++)
18             b.push(a.top());
19             a.pop();
20         
21         int tmp=b.top();
22         b.pop();
23         for(int i=0;i<len-1;i++)
24             a.push(b.top());
25             b.pop();
26         
27         return tmp;
28     
29     
30     /** Get the front element. */
31     int peek() 
32         int len=a.size();
33         for(int i=0;i<len;i++)
34             b.push(a.top());
35             a.pop();
36         
37         int tmp=b.top();
38         for(int i=0;i<len;i++)
39             a.push(b.top());
40             b.pop();
41         
42         return tmp;
43     
44     
45     /** Returns whether the queue is empty. */
46     bool empty() 
47         return a.empty();
48     
49 ;
50 
51 /**
52  * Your MyQueue object will be instantiated and called as such:
53  * MyQueue* obj = new MyQueue();
54  * obj->push(x);
55  * int param_2 = obj->pop();
56  * int param_3 = obj->peek();
57  * bool param_4 = obj->empty();
58  */

 

以上是关于栈————用栈实现队列的主要内容,如果未能解决你的问题,请参考以下文章

数据结构用栈实现队列

用栈实现队列oj

剑指offer---05---用栈实现队列

用栈实现队列和用队列实现栈

leecode刷题(26)-- 用栈实现队列

用栈实现队列,用队列实现栈,最小栈,设计循环队列的Java做法