C++实现栈及其操作
栈是一种常用的数据结构,它具有后进先出 (LIFO) 的特性。在栈中,只能从栈顶插入和删除元素。C++ 标准库中已经提供了栈的实现,但是我们也可以自己手动实现一个栈。本文将介绍C++实现栈及其操作的方法,包括创建栈、压栈、弹栈、取栈顶元素等操作。
首先,我们需要一个可以存储栈内元素的容器。这里我们可以使用 std::vector 来实现。std::vector 是C++中的一个标准容器,它支持可变大小的序列容器。
接下来,我们定义一个 Stack 类,该类将使用 std::vector 来存储栈内元素:
#include <vector>
template <class T>
class Stack {
public:
// 压入元素
void push(const T& value);
// 弹出元素
void pop();
// 取栈顶元素
T& top();
// 判断栈是否为空
bool empty() const;
// 返回栈的大小
size_t size() const;
private:
std::vector<T> stack_;
};
在 Stack 类中,我们声明了几个常用的操作函数,分别如下&#