/*
栈的数组实现
*/
#include<iostream>
using namespace std;
#define MAXSIZE 10;
template<class T>
class Stack
{
public:
//默认构造函数
Stack();
Stack(size_t maxElements);
Stack(T data[],size_t maxElments);
~Stack();
//入栈
void Push(T data);
//出栈并返回
T Pop();
//返回栈顶元素
T Top();
//判断是否为空栈
bool isEmpty();
//栈是否已满
bool isFull();
//清空栈
void Clear();
//获得栈里元素的个数
size_t GetSize();
private:
//栈标指示器
size_t top;
//数组
T *arrays;
//栈的容量
size_t maxSize;
};
template<class T>
Stack<T>::Stack():
maxSize(MAXSIZE),top(-1)
{
arrays=new T[maxSize];
if(arrays==NULL)
cout<<"动态分配内存失败";
}
template<class T>
Stack<T>::Stack(size_t maxElements):
maxSize(maxElements),top(-1)
{
arrays=new T[maxSize];//创建存储栈的数组
}
template<class T>
Stack<T>::Stack(T data[],size_t maxElements):
maxSize(maxElements),top(-1)
{
arrays=new T[maxSize];//创建存储栈的数组
for(size_t i=0;i<maxS
c++ 栈的数组实现
最新推荐文章于 2023-11-09 17:05:23 发布
本文档展示了如何使用C++模板类实现一个基于数组的栈数据结构。包括构造函数、入栈、出栈、查看栈顶、判断栈空、栈满、清空栈及获取栈大小等操作。在main函数中进行了测试,演示了异常处理。
摘要由CSDN通过智能技术生成