用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
// test14.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
#include<string>
#include<cctype>
#include <vector>
#include<exception>
#include <initializer_list>
#include<stack>
using namespace std;
class Solution
{
public:
	void push(int node) {
		while (!stack2.empty())//入队时,要保证stack2为空
		{
			stack1.push(stack2.top());
			stack2.pop();
		}
		stack1.push(node);
		cout << "入队元素是:" <<stack1.top()<< endl;
	}
	int pop() {
		while(!stack1.empty())//出队时,要保证stack1为空
		{
			stack2.push(stack1.top());
			stack1.pop();
		}
		cout << "出队元素是:" << stack2.top() << endl;
		int temp = stack2.top();
		stack2.pop();
		return temp;
	}
private:
	stack<int> stack1;//作为入队序列
	stack<int> stack2;//作为出队序列
};
int main()
{
	Solution so;
	so.push(1);
	so.push(2);
	so.push(3);
	so.pop();
	so.pop();
	so.push(4);
	so.pop();
	so.push(5);
	so.pop();
	so.pop();
	cout << endl;
	return 0;
}用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。的更多相关文章
- 算法:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
		算法:用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型.<剑指offer> 利用栈来进行操作,代码注释写的比较清楚:首先判断两个栈是否是空的:其次当栈二 ... 
- 剑指offer5:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
		1. 题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 2. 思想 (1)栈的特点是先进后出,而队列的特点是先进先出: (2)因此,入队列的情况和入栈的情 ... 
- 【算法】用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
		public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer&g ... 
- java基础编程——用两个栈来实现一个队列
		题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 题目代码 /** * <分析>: * 入队:将元素进栈A * 出队:判断栈B是否为空, * ... 
- 面试题9-用两个栈来实现一个队列,完成队列的Push和Pop操作
		题目 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 思路: 一个栈压入元素,而另一个栈作为缓冲,将栈1的元素出栈后压入栈2中 代码 import java.ut ... 
- 剑指offer-用两个栈来实现一个队列-队列与栈-python
		用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 思路:使用两个栈,stackA 用来接收node stackB 用来接收 stackA 的出栈 # -*- cod ... 
- 5、利用两个栈实现队列,完成push和pop操作
		题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 思路: 1.一个栈用来做push 2.另一个栈用来做pop 3.将push操作的栈的元素放入另一个栈中, ... 
- 两个栈来实现一个队列的C++代码
		利用两个栈来实现一个队列, 这个问题非经常见. 最关键的是要有好的思路, 至于实现, 那是非常easy的事情了. 在本文中, 也想说说自己的思路, 可是. 我认为用代码来表述思路更符合我的习惯. 也 ... 
- 【转】java中byte数组与int类型的转换(两种方式)----不错
		原文网址:http://blog.csdn.net/piaojun_pj/article/details/5903009 java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法, ... 
随机推荐
- 15条JavaScript最佳实践很经典噢
			感觉比较经典,特转载腾讯大讲堂.本文档整理大部分公认的.或者少有争议的JavaScript良好书写规范(Best Practice).一些显而易见的常识就不再论述(比如要用对象支持识别判断,而不是浏览 ... 
- 【转】 memwatch使用说明书
			memwatch使用说明书 1.memwatch是什么? memwatch是C语言的内存检测器.除了检测内存的功能外,它同样可以做其它的一些事情,而我们主要还是在于讲述它的基本功能.如果你真的想 ... 
- sql server 查找字段上的约束
			1. 当字段没有默认值或者约束的时候可以使用: alter table [table_name] drop column [column_name] 来删除. 当有默认值的时候应该先删除默认值,然后再 ... 
- (转)[转]大数据时代的 9 大Key-Value存储数据库
			在过去的十年中,计算世界已经改变.现在不仅在大公司,甚至一些小公司也积累了TB量级的数据.各种规模的组织开始有了处理大数据的需求,而目前关系型数据库在可缩放方面几乎已经达到极限. 一个解决方案是使用键 ... 
- 学习 AngularJS 第一天
			AngularJS 高级程序设计 遇到问题:安装web服务器 var connect = require("connect"); connect.createServer( con ... 
- node笔记——gulp-imagemin图片压缩
			出处:http://blog.csdn.net/kkgege/article/details/49929983 之前用项目用gulp进行前端的构建,用到压缩图片插件gulp-imagemin, 后来发 ... 
- DataGrid实现逻辑分页
			在ASP.NET内建提供的所有数据排列控件中,只有DataGrid数据控件是提供数据分页功能的.DataReapter数据控件只能提供一些简单 的.基础的数据重复排列功能,对于一些比较复杂的应用是无能 ... 
- 试写Python内建函数range()
			还没查阅源码,先试着练手 class my_range(object): def __init__(self, *args): if not args: raise TypeError, 'range ... 
- iOS Foundation框架 -4.NSDate类的简单用法
			NSDate为日期时间类对象,简单操作: 注意:直接NSLog输出NSDate对象,默认是以0时区为标准,因此会比北京时间少8小时 1.将Date格式转换为自定义格式的字符串格式 // 自定义Date ... 
- 《DDNS服务器的搭建和案例解决方法》
			DDNS原理:DNS + DHCP =DDNS DHCP负责ip解析,和分配给客户机ip,ip为随机数. DNS负责域名解析,A记录里记录了每个ip对应的域名. 客户端ip肯定是变化的,不可能一直使用 ... 
