#include<iostream>
using namespace std;
template <class T>
class node
{
T data;
node<T>* next;
};
template <class T>
class linkstack
{
node<T>* top;
public:
linkstack()
{
top == nullptr;
}
~linkstack()
{
while (top)
{
node<T>* p = top;
top = top->next;
delete p;
}
}
void Push(T x)
{
node<T>* s = new node<T>;
s->data = x;
s->next = top;
top = s;
}
T Pop()
{
if (top == nullptr)
throw"underflow";
node<T>* p = top;
T x = top->data;
top = top->next;
delete p;
return x;
}
T GetTop()
{
if (top != nullptr)
return top->data;
else
throw"The Stack is empty";
}
bool empty()
{
if (top == nullptr)
return 1;
else
return 0;
}
};
链表栈的实现
最新推荐文章于 2024-10-07 14:53:51 发布