栈类模板,指针实现
#include<iostream>
using namespace std;
template<class T>
class Stack{
public:
T data;
Stack* next;
Stack(){ next=NULL;}
void push(T x) //不带头节点,利用链式前向心
{
Stack *r=new Stack;
r->data=x;
r->next=next;
next=r;
}
bool empty(){return next==NULL;}
void pop(){
if(next!=NULL)
{
Stack *r=next->next;
delete next;
next=r;
}
else cout<<"Stack is empty"<<endl;
}
void Destory()
{
Stack *r=NULL;
while(next!=NULL)
{
r=next->next;
free(next);
next=r;
}
}
void top(){
if(next!=NULL)
{
cout<<next->data<<endl;
}
else cout<<"Stack is empty"<<endl;
}
};
int main()
{
Stack<int> s;
return(0);
}