队列的基本操作实现及其应用

一、实验目的

1、   熟练掌栈和队列的结构特点,掌握栈和队列的顺序存储和链式存储结构和实现。

2、   学会使用栈和队列解决实际问题。

二、实验内容

实现栈的压栈和出栈操作。

三、

#include   
using namespace std;  
template
struct Node  
{
	DataType data;  
	Node *next; 
}; 
template   
class LinkStack
{
public:
	LinkStack(){top=NULL;} /*构造函数,初始化空链栈*/
	~LinkStack();/*析构函数,释放空间*/
	void Push(DataType x);
	DataType Pop();
	DataType GetTop();
	int Empty();
private:
	Node*top;
};
template
void LinkStack::Push(DataType x)
{   Node*s;
	s=new Node;s->data=x;
	s->next=top;top=s;    /*将结点s插入到栈顶*/
} 
template
DataType LinkStack::Pop()
{   DataType x;
    Node*p;
	if(top==NULL)throw"下溢";
		x=top->data;p=top;
	top=top->next;
	delete p;
	return x;
}
template
DataType LinkStack::GetTop()
{
	if (top!=NULL)
		return top->data;
}
template
int LinkStack::Empty()
{
	if(top==NULL)
		return 1;
	else return 0;
}
template
LinkStack::~LinkStack()
{
	Node*s;
	while(top==NULL)
	{
		
	}
}

int main()
{
	LinkStackS;
	if(S.Empty())
		cout<<"空链栈"<
队列的基本操作实现及其应用_第1张图片

你可能感兴趣的:(队列的基本操作实现及其应用)