数据结构之栈操作
template<typename DataType> class Stack{
public:
Stack(int size)
{
maxSize = size; //设置最大容量
top = -1; //初始化为空栈
elements = new DataType; //分配空间
}
~Stack()
{
delete [] elements;
}
//入栈操作
bool push(DataType data);
//出栈操作
DataType pop();
/****************判空********************/
bool isEmpty();
/**********获取元素数***********/
int eleNumber();
private:
DataType *elements; //数据域指针
int top; //栈顶
int maxSize; //栈的最大容量
};
/*****************入栈操作************************/
template<typename DataType> bool Stack<DataType>::push(DataType data)
{
if(top == maxSize) //判断是否栈满
return false;
elements[++top] = data; //从栈顶压入元素
return true;
}
/********************出栈操作*******************/
template<typename DataType> DataType Stack<DataType>::pop()
{
if(top == -1) //判断是否栈空
{
exit(1);
}
return elements; //返回栈顶元素
}
/*************************栈判空***********************/
template<typename DataType> bool Stack<DataType>::isEmpty(){
if(top == -1)
return true;
else
return false;
}
/*********************获取当前元素数********************/
template<typename DataType> int Stack<DataType>::eleNumber(){
if(top >=0)
return top+1;
else
return 0;
} 这是什么语言 avocado 发表于 2022-12-5 23:16
这是什么语言
这是C++,刚学习
页:
[1]