在写这篇文章之前,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程序员最最最最最痛苦的事儿是啥,知道不? 就是,狗日的客户又回来了,程序给删没了!