linkstack.cpp

来自「堆栈的一点研究」· C++ 代码 · 共 78 行

CPP
78
字号
// LinkStack.cpp: implementation of the CLinkStack class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "LinkStack.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CLinkStack::CLinkStack()
{
	top = NULL;
}

CLinkStack::~CLinkStack()
{

}

void CLinkStack::Push(CMyObject *E)
{
	if(IsFull())
		return;
	CLinkNode * p = new CLinkNode;
	p->m_data = E;
	p->m_next = top;
	top = p;
}

CMyObject * CLinkStack::Pop()
{
	if(IsEmpty())
		return NULL;
	CLinkNode *p = top;
	top = top->m_next;
	CMyObject *q = p->m_data;
	delete p;
	return q;
}

CMyObject * CLinkStack::GetTop()
{
	if(IsEmpty())
		return NULL;
	CMyObject *q = p->m_data;
	return q;
}

bool CLinkStack::IsEmpty()
{
	return !top;
}

bool CLinkStack::IsFull()
{
	return true;
}

int CLinkStack::GetSize()
{
	return *****;
}

void CLinkStack::ClearStack()
{
	top = 0;
}

void CLinkStack::Print()
{
	for(int i = 0;i < top;i++)
	{
		m_data[i]->Print();
		cout<<endl;
	}
}

⌨️ 快捷键说明

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