栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。经分析,C++实现堆栈,程序应实现入栈、出栈、判断栈的状态(主要是判断栈是否为空,是否为满)、获取栈顶元素、求栈的长度、清空栈中元素、输出栈中元素、销毁栈这八大功能。于是,写了一个利用数组实现这些功能的简单的程序。
#include<iostream>
using namespace std;
const int maxsize=5;
class Stack
{
public:
Stack() //构造函数,定义一个空栈
{
a=new int[maxsize];
top=0;
}
~Stack(){} //析构函数
void Push(int e); //入栈
void Pop(); //出栈
void GetTop(); //读栈顶元素
int StackSize(); //求栈长
void ClearStack(Stack s); //清空栈
bool IsEmpty(); //判断栈是否为空
bool IsFull(); //判断栈是否为满
bool Destroy(); //销毁栈
void Print(); //输出栈中元素
private:
int *a;
int top;
};
void