leetcode 日经贴,Cpp code -Implement Queue using Stacks

原创 2015年07月07日 14:39:40

Implement Queue using Stacks

class Queue {
    stack<int> st[2];
    int inidx, outidx;
    void move(int from, int to) {
        while (!st[from].empty()) {
            st[to].push(st[from].top());
            st[from].pop();
        }
    }
public:
    Queue() {
        inidx = 0;
        outidx = 1;
    }
    // Push element x to the back of queue.
    void push(int x) {
        st[inidx].push(x);
    }

    // Removes the element from in front of queue.
    void pop(void) {
        if (st[outidx].empty() && !st[inidx].empty()) {
            move(inidx, outidx);
        }
        if (!st[outidx].empty()) {
            st[outidx].pop();
        }
    }

    // Get the front element.
    int peek(void) {
        if (st[outidx].empty() && !st[inidx].empty()) {
            move(inidx, outidx);
        }
        if (!st[outidx].empty()) {
            return st[outidx].top();
        } else {
            return -1;
        }
    }

    // Return whether the queue is empty.
    bool empty(void) {
        return st[inidx].empty() && st[outidx].empty();
    }
};


Stack_Queue 一个数组实现三个栈 @CareerCup

原文: Describe how you could use a single array to implement three stacks. 译文: 你如何只用一个数组实现三个栈...
  • hellobinfeng
  • hellobinfeng
  • 2014年03月01日 11:35
  • 1739

光标函数简介,创建Color光标、Alpha光标、ShowCursor

转载请标明是引用于 http://blog.csdn.net/chenyujing1234     以下给出了有关图标和指针的API函数 函    数           ...
  • chenyujing1234
  • chenyujing1234
  • 2013年03月27日 23:04
  • 4202

LeetCode刷题指南(一)

以下是我个人做题过程中的一些体会: 1. LeetCode的题库越来越大,截止到目前,已经有321个问题了。对于大多数人来说,没有时间也没有必要把所有题目都做一遍(时间充裕可以随意)。刷个100题左...
  • Lnho2015
  • Lnho2015
  • 2016年03月23日 15:02
  • 38056

[LeetCode]62 不同的路径总数

Unique Paths(不同的路径总数)【难度:Medium】 A robot is located at the top-left corner of a m x n grid (marked ...
  • qq_14821023
  • qq_14821023
  • 2016年02月28日 13:31
  • 668

LeetCode题解汇总(C++ Java Python,含题目翻译)

LeetCode题目(含AC Rates):http://oj.leetcode.com/problems/ 我的github:https://github.com/lilong-dream/ 1 T...
  • dragon_dream
  • dragon_dream
  • 2014年02月23日 17:49
  • 34831

LeetCode总结 -- 高精度篇

我们常见的一些基本的数据结构比如整型int或者浮点型float由于位数过多无法用内置类型存储,这时候我们就需要自己实现高精度的数据类型来进行存储和运算。这种问题在实际产品中还是比较实用的,所以相对来说...
  • linhuanmars
  • linhuanmars
  • 2014年09月04日 05:38
  • 7101

日经——打卡贴(更新持续)

3-13  21:22 打卡     工作:简单运用SQL进行数据查询工作,工作方面的宏观经济指数的整理以及各指数概念的理解。                                    学...
  • anxixiaomu
  • anxixiaomu
  • 2017年03月13日 21:22
  • 163

leetcode2题 题解 翻译 C语言版 Python版

2. Add Two Numbers You are given two linked lists representing two non-negative numbers. The digi...
  • yingzinanfei
  • yingzinanfei
  • 2016年11月08日 22:51
  • 904

二维码QR Code简介及其解码实现(zxing-cpp)

二维码QR Code简介及其解码实现(zxing-cpp)
  • fengbingchun
  • fengbingchun
  • 2017年01月16日 21:14
  • 2289

LeetCode上与树相关的问题

前言没想到大三依然课业繁重,再加上一些琐事缠身,以及自身的惰性,不少计划都是心有余力不足,但又不愿这么混下去,近来回顾了一下自己在学习算法技能树上的加点,发现一些基础算法与经典算法实在是有那么点囫囵吞...
  • qq_15714857
  • qq_15714857
  • 2016年05月18日 21:12
  • 3115
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode 日经贴,Cpp code -Implement Queue using Stacks
举报原因:
原因补充:

(最多只允许输入30个字)