/*
栈的数组实现
*/
#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<maxSize;i++)
{
arrays[i]=data[i];
c++ 栈的数组实现
最新推荐文章于 2024-07-15 11:03:37 发布