zoukankan      html  css  js  c++  java
  • 用两个栈来实现一个队列,完成队列的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;
    }
  • 相关阅读:
    头指针与头结点的异同
    C:Users用户名AppData里面的文件可以删除吗
    mac os x在PC上安装
    迷宫问题
    对称自反传递
    判断
    离散实验模板
    离散实验二
    tp.5.0.21抛出错误
    php复制整个文件夹,此方法可过滤掉.svn文件夹
  • 原文地址:https://www.cnblogs.com/wdan2016/p/5942229.html
Copyright © 2011-2022 走看看