C++实现stack容器适配器

Posted Wecccccccc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++实现stack容器适配器相关的知识,希望对你有一定的参考价值。

代码如下:

#include <iostream>
#include <deque>
using namespace std;

template<typename T,typename Con = deque<T>>
class Stack
{
public:
	Stack() {}

	void Push(const T &x) {
		_c.push_back(x);
	}

	void Pop()
	{
		_c.pop_back();
	}

	T & Top()
	{
		return _c.back();
	}

	const T &Top() const
	{
		return _c.back();
	}

	size_t Size() const
	{
		return _c.size();
	}

	bool Empty() const
	{
		return _c.empty();
	}

private:
	Con _c;
};

int main()
{
	Stack<int>s;
	s.Push(1);
	s.Push(2);
	s.Push(3);
	s.Push(4);
	cout << s.Size() << endl;
	cout << s.Top() << endl;
	s.Pop();
	s.Pop();
	cout << s.Size() << endl;
	cout << s.Top() << endl;
	return 0;
}

测试结果:

在这里插入图片描述

以上是关于C++实现stack容器适配器的主要内容,如果未能解决你的问题,请参考以下文章

C++——stack和queue的模拟实现

C++初阶----deque(双端队列)+stack queue模拟实现

[ C++ ] STL_stack(栈)queue(队列)使用及其重要接口模拟实现

C++入门stack和queue适配器介绍+ priority_queue的模拟实现仿函数基本概念提及

C++ stack&queue

C++从青铜到王者第十四篇:STL之stack类的初识和模拟实现