zoukankan      html  css  js  c++  java
  • leetcode Implement Stack using Queues

    Implement the following operations of a stack using queues.

    • push(x) -- Push element x onto stack.
    • pop() -- Removes the element on top of the stack.
    • top() -- Get the top element.
    • empty() -- Return whether the stack is empty.

    Notes:

      • You must use only standard operations of a queue -- which means only push to back, peek/pop from front, size, and is empty operations are valid.
      • Depending on your language, queue may not be supported natively. You may simulate a queue by using a list or deque (double-ended queue), as long as you use only standard operations of a queue.
      • You may assume that all operations are valid (for example, no pop or top operations will be called on an empty stack)

    很简单一道题,如果用栈实现队列有点难度,还需要两个栈。用队列实现栈的话还是比较简单的,用一个队列就可以完成了。

     1 class Stack {
     2 public:
     3     queue<int> Queue1;
     4     int* back,*tmp;
     5     // Push element x onto stack.
     6     void push(int x) {
     7         Queue1.push(x);
     8         
     9         
    10     }
    11 
    12     // Removes the element on top of the stack.
    13     void pop() {
    14         back=&Queue1.back();
    15         while(&Queue1.front()!=back){
    16             tmp=&Queue1.front();
    17             Queue1.pop();
    18             Queue1.push(*tmp);
    19         }
    20         Queue1.pop();
    21     }
    22 
    23     // Get the top element.
    24     int top() {
    25         return Queue1.back();
    26     }
    27 
    28     // Return whether the stack is empty.
    29     bool empty() {
    30         return Queue1.empty();
    31         
    32     }
    33 };
  • 相关阅读:
    文件传输协议FTP
    过河问题 还是不会 去学请教一下 数学老师 -----
    ----堆栈 STL 函数库 ----有待补充
    UVa 101
    例题 5-1 STL
    课后题 3-3 水题
    第八届河南省省赛 A.挑战密室
    课后题--------求分子量-----Molar mass------
    课后题3-1
    ---------快排-----表排-----基数排序(桶排序)-----
  • 原文地址:https://www.cnblogs.com/LUO77/p/5022405.html
Copyright © 2011-2022 走看看