⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 edgeliststack.cpp

📁 刚上传内容的相关CODEC不能单独上传。于是
💻 CPP
字号:
// EdgeListStack.cpp: implementation of the CEdgeListStack class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "magicscissors.h"
#include "EdgeListStack.h"
#include "EdgeList.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

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

CEdgeListStack::CEdgeListStack()
{
	m_pRoot = NULL;
	m_pLast = NULL;
}

CEdgeListStack::~CEdgeListStack()
{
	Clear();
}


void CEdgeListStack::Clear()
{
	CEdgeList* pCur;
	CEdgeList* pNext;
	if( m_pRoot )
	{
		pCur = m_pRoot;
		while( pCur )
		{
			pNext = pCur->m_pNext;
			delete pCur;
			pCur = pNext;
		}
		m_pRoot = m_pLast = NULL;
	}
}

BOOL CEdgeListStack::Push(CEdgeList* pList)
{
	if( !m_pRoot )
	{
		m_pRoot = new CEdgeList;
		*m_pRoot = *pList;
		m_pLast = m_pRoot;
	}
	else
	{
		CEdgeList* pData = new CEdgeList;
		*pData = *pList;
		m_pLast->m_pNext = pData;
		pData->m_pPrev = m_pLast;
		m_pLast = pData;
	}	
	return TRUE;
}

CEdgeList* CEdgeListStack::Pop()
{
	if( !m_pLast ) return NULL;

	CEdgeList* pLast = m_pLast;
	m_pLast = m_pLast->m_pPrev;

	if( !m_pLast)
	{
		m_pRoot = m_pLast = NULL;
	}
	else
	{
		m_pLast->m_pNext = NULL;
	}	
	return pLast;
}


⌨️ 快捷键说明

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