stack.cpp

来自「教材例子」· C++ 代码 · 共 62 行

CPP
62
字号
//程序STACK.CPP(8.6.7)	功能:堆栈类STACK的类实现
#include "figstack.h"
#include <stdlib.h>
#include <iostream.h>
STACK::STACK()
{
	top=NULL;
}
void STACK::push(FIGURE* fig_ptr)
{
	NODE* temp;
	temp=new NODE;
	if(temp==NULL){
		cout<<"Error: No enough memory.\n";
		exit(1);
	}
	temp->link=top;
	temp->element=fig_ptr;
	top=temp;
}
void STACK::pop()
{
	NODE *temp;
	if(top==NULL){
		cout<<"Error: Pop from empth stack.\n";
		exit(1);
	}
	temp=top;
	top=top->link;
	delete temp;
}
FIGURE* STACK::get_top()
{
	if(top==NULL){
		cout<<"Error:Get top from empty stack.\n";
		exit(1);
	}
	return top->element;
}
int STACK::is_empth()
{
	return (top==NULL);
}
void STACK::show()
{
	NODE *loop;
	loop=top;
	while(loop!=NULL){
		loop->element->show();
		loop=loop->link;
	}
}
void STACK::hide()
{
	NODE* loop;
	loop=top;
	while(loop!=NULL){
		loop->element->hide();
		loop=loop->link;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?