亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

兩個棧實現一個隊列

發布時間: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

石棉县| 西和县| 河东区| 铜山县| 濮阳市| 汝南县| 京山县| 齐河县| 上虞市| 和林格尔县| 天祝| 清苑县| 游戏| 色达县| 上虞市| 鹿泉市| 绵阳市| 抚顺县| 郑州市| 大名县| 仙居县| 华亭县| 黎川县| 定西市| 肃北| 孝感市| 石河子市| 青浦区| 尤溪县| 济阳县| 资溪县| 乐平市| 平原县| 东光县| 广南县| 隆回县| 繁峙县| 秀山| 池州市| 西青区| 保康县|