算法练习五:用两个栈实现队列

原创 2015年11月19日 20:13:55
#include<iostream>
#include<stack>
using namespace std;
/*用两个栈来实现一个队列,完成队列的Push和Pop操作。
队列中的元素为int类型。
思路:入栈两次在出去即为队列顺序,将stack2作为出队操作,一旦stack2
为空,将stack1中的内容全部入到stack2中,这是为了保证所有元素出队顺序不变*/
stack<int> stack1;
stack<int> stack2;
void push(int node) 
{
	stack1.push(node);    
}
int pop() 
{
	if(stack2.empty())
	{
		while(!stack1.empty())
		{
			stack2.push(stack1.top());
			stack1.pop();
		}
	}
	int res = stack2.top();
	stack2.pop();
	return res;
}


C++算法之 两个队列实现一个栈

题目:用两个队列实现一个栈 算法思路: 现有两个队列q1与q2,入栈:如果q1与q2都为空,那么我们选择q1入栈也就是入队列,比如q1入栈 1 2 3 4 ;现在要出栈,后进先出那么4要出栈。但是...

算法习题57:用两个栈实现队列

用俩个栈实现队列。 题目:某队列的声明如下: template class CQueue { 17 public: CQueue() {} ~CQueue() {} void appendTail(c...
  • ylf13
  • ylf13
  • 2013年11月10日 11:09
  • 525

算法导论基础篇:两个队列实现一个栈

算法导论基础篇:两个队列实现一个栈 队列的基本操作:初始化、判断是否为空、判断是否满、清空队列、释放队列、入队、出队、求队列的长度 typedef struct Queue { int qu...

数据结构与算法_两个栈实现一个队列的功能

用两个栈实现一个队列的功能 #include "stdafx.h" //#include //#include //#include //#include #include //usin...

C++算法之 用两个栈实现一个队列

算法思路: 一个栈用来入队列,一个栈用来出队列: 现有两个栈s1 和s2;s1用来入栈,比如  队列进入  1 2 3 4 5 那么s1进栈 1 2 3 4 5 ,现在要出队列,意思就是要1先出来; ...

【每天学点算法题10.21】用两个队列实现栈

题目描述:使用两个队列实现栈,完成栈的压入和弹出操作。 问题解决:栈的压入元素时,我们直接将数据插入到queue1中,这样最先插入的数据就在队列queue1的头部,最后插入的元素在队里queue1的...
  • dyoyo90
  • dyoyo90
  • 2013年10月21日 10:17
  • 602

[算法浅析] 用两个栈实现队列

基本的思路还是很清晰的,第一个

算法分析:两个栈实现一个队列

两年前从网上看到一道面试题:用两个栈(Stack)实现一个队列(Queue)。觉得不错,就经常拿来面试,几年下来,做此题的应该有几十人了。通过对面试者的表现和反应,有一些统计和感受,在此做个小结。  ...

面试/算法--使用两个栈来实现队列--java

拓展-使用两个队列来实现栈
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:算法练习五:用两个栈实现队列
举报原因:
原因补充:

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