zoukankan      html  css  js  c++  java
  • nullnull如何使用堆栈实现队列

    在写这篇文章之前,xxx已经写过了几篇关于改nullnull主题的文章,想要了解的朋友可以去翻一下之前的文章

        Problem

        How to use two stacks to implement a queue

        Solution

        It is simple, just serialize two stacks 

        每日一道理
    “一年之计在于春”,十几岁的年纪,正是人生的春天,别辜负了岁月老人的厚爱与恩赐。行动起来,播种梦想吧!
    #include <iostream>
    #include <stack>
    
    using namespace std;
    
    stack<int> s1;
    stack<int> s2;
    
    bool que_add(int value)
    {
        int v;
    
        s1.push(value);
    
        return true;
    }
    
    bool que_remove(int &value)
    {
        int v;
    
        if(!s2.empty()){
            value = s2.top();
            s2.pop();
            return true;
        }
    
        while(!s1.empty()){
            v = s1.top();
            s1.pop();
            s2.push(v);
        }
    
        if(s2.empty())
            return false;
    
        value = s2.top();
        s2.pop();
    
        return true;
    }
    
    bool que_peek(int &value)
    {
        int v;
    
        while(!s1.empty()){
            v = s2.top();
            s2.pop();
            s1.push(v);
        }
    
        if(s2.empty())
            return false;
    
        value = s2.top();
        return true;
    }
    
    bool que_empty()
    {
        return (s1.empty() && s2.empty()) ? true : false;
    }
    
    int main(int argc, char* argv[])
    {
        que_add(1);
        que_add(2);
        que_add(3);
        que_add(4);
    
        int v;
    
        while(!que_empty()){
            que_remove(v);
            cout << v << endl;
        }
    
        return 0;
    }

    文章结束给大家分享下程序员的一些笑话语录: 小沈阳版程序员~~~ \n程序员其实可痛苦的了......需求一做一改,一个月就过去了;嚎~ \n需求再一改一调,一季度就过去了;嚎~ \n程序员最痛苦的事儿是啥,知道不?就是,程序没做完,需求又改了; \n程序员最最痛苦的事儿是啥,知道不? 就是,系统好不容易做完了,方案全改了; \n程序员最最最痛苦的事儿是啥,知道不? 就是,系统做完了,狗日的客户跑了; \n程序员最最最最最痛苦的事儿是啥,知道不? 就是,狗日的客户又回来了,程序给删没了!

  • 相关阅读:
    Python之文件操作
    document.hasFocus() & $(window).blur()
    innerHtml 会忽略里面元素的属性
    ng  命令集合
    阿里云ECS CentOs7.3下搭建LAMP环境(Apache2.4 + Mysql5.7 + PHP5.6 + Laravel5.2)
    在忘记root密码的时候,可以这样 亲测可用
    下一次装mysql 试一下这个方法
    CentOS-6.8安装Mysql-5.5.29
    阿里云服务器下安装LAMP环境(CentOS Linux 6.3)
    CentOS 7.2 配置Apache服务(httpd)--上篇
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3080559.html
Copyright © 2011-2022 走看看