91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

兩個棧實現一個隊列

發布時間:2020-06-18 00:36:25 來源:網絡 閱讀:247 作者:小止1995 欄目:編程語言

棧的特點:先進后出

隊列特點:先進先出

//實現兩個棧實現一個隊列
//每次都push到_s1中,pop從_s2,提高效率(每次不用互相倒棧)
#pragma once
#include<iostream>
#include<stack>
#include<queue>
#include<assert.h>
using namespace std;
template<class T>
class Queue
{
public:
	void Push(const T& x)
	{
		_s1.push(x);
	}
	void Pop()
	{
		if (_s2.empty())
		{
			while (!_s1.empty())
			{
				_s2.push(_s1.top());
				_s1.pop();
			}
		}
		//斷言當_s2為空時,不執行 (庫中實現_s2.pop()也已斷言,實不實現都行!!!)防止自己實現的棧出錯
		assert(!_s2.empty());
		_s2.pop();
	}
	bool Empty()
	{
		return _s1.empty() && _s2.empty();
	}
	int Size()
	{
		return _s1.size() + _s2.size();
	}
	T& Front()
	{
		if (_s2.empty())
		{
			while (!_s1.empty())
			{
				_s2.push(_s1.top());
				_s1.pop();
			}
		}
		assert(!_s2.empty());
		return _s2.top();
	}
	T& Back()
	{
		if (_s1.empty())
		{
			while (!_s2.empty())
			{
				_s1.push(_s2.top());
				_s2.pop();
			}
		}
		assert(_s1.empty());
		return _s1.top();
	}
protected:
	stack<T> _s1;
	stack<T> _s2;
};
void Test1()
{
	Queue<int> q1;
	q1.Push(1);
	q1.Push(2);
	q1.Push(3);
	q1.Push(4);
	q1.Push(5);
	q1.Push(6);
	q1.Pop();
	q1.Pop();
	q1.Pop();
	q1.Pop();
	q1.Pop();
	q1.Pop();
	//q1.Pop();
	//cout << q1.Front() << endl;
	//cout << q1.Back() << endl;
	//cout << q1.Empty() << endl;
	cout << q1.Size() << endl;
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宣汉县| 沛县| 定兴县| 格尔木市| 棋牌| 湄潭县| 新乡县| 建始县| 芦溪县| 平顺县| 名山县| 鸡泽县| 新化县| 贡山| 茶陵县| 克拉玛依市| 邢台市| 丹棱县| 奇台县| 商都县| 大埔县| 犍为县| 澄江县| 资中县| 罗平县| 临武县| 福建省| 建宁县| 阳曲县| 门头沟区| 宁蒗| 泸定县| 石狮市| 温宿县| 革吉县| 镇平县| 涿鹿县| 普定县| 灯塔市| 武定县| 马鞍山市|