一、实验目的
1、 熟练掌栈的结构特点,掌握栈的顺序存储和链式存储结构和实现。
2、 学会使用栈解决实际问题。
二、实验内容
1、自己确定结点的具体数据类型和问题规模:
分别建立一个顺序栈和链栈,实现栈的压栈和出栈操作。
三、代码
链栈
#ifndef LinkStack_H
#define LinkStack_H
template<class DataType>
class LinkStack
{
public:
LinkStack(){top=NULL;}
~LinkStack();
void Push(DataType x);
DataType Pop();
DataType GetTop();{
if(top!=NULL)return top->data;}
int Empty(){top==NULL?return 1;return 0;}
private:
Node<DataType>*top;
};
#endif;
#include"LinkStack.h"
template<class DataType>
LinkStack<DataType>::LinkStack()
{
top=NULL;
}
template<class DataType>
void LinkStack<DataType>::Push(DataType x)
{
s=new Node;s->data=x;
s->next=top;top=s;
}
template<