📄 pointerlist.cpp
字号:
// PointerList.cpp: implementation of the CPointerList class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
//#include "VoiceScript.h"
#include "PointerList.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CPointerList::CPointerList()
{
ppmember = NULL;
m_iCount = 0;
m_iIncrement = 100;
m_iTotalCount = 0;
}
CPointerList::~CPointerList()
{
if(ppmember != NULL)
{
free(ppmember);
}
}
int CPointerList::AddHead(void *pNewElement)
{
if(ppmember == NULL || m_iCount == m_iTotalCount)
{
m_iTotalCount = m_iCount + m_iIncrement;
ppmember = (void **)realloc(ppmember, m_iTotalCount * sizeof(void *));
}
for(int i = 0; i < m_iCount; i ++)
{
ppmember[m_iCount - i] = ppmember[m_iCount - i - 1];
}
ppmember[0] = pNewElement;
m_iCount ++;
return(0);
}
int CPointerList::AddTail(void *pNewElement)
{
if(ppmember == NULL || m_iCount == m_iTotalCount)
{
m_iTotalCount = m_iCount + m_iIncrement;
void **ppTemp = (void **)realloc(ppmember, m_iTotalCount * sizeof(void *));
if(ppTemp == NULL)
return -1;
else
ppmember = ppTemp;
}
ppmember[m_iCount] = pNewElement;
m_iCount ++;
return(0);
}
void * CPointerList::RemoveHead()
{
if(m_iCount == 0)
return(NULL);
void *pHead = ppmember[0];
/*
for(int i = 0; i < m_iCount; i ++)
{
ppmember[i] = ppmember[i + 1];
}
m_iCount --;
*/
//XYW modified at 2001/01/02
m_iCount --;
for(int i = 0; i < m_iCount; i ++)
{
ppmember[i] = ppmember[i + 1];
}
ppmember[m_iCount] = NULL;
//XYW modified end
return(pHead);
}
void * CPointerList::RemoveTail()
{
if(m_iCount == 0)
return(NULL);
m_iCount --;
return(ppmember[m_iCount]);
}
BOOL CPointerList::IsEmpty()
{
if(m_iCount == 0)
return(TRUE);
else
return(FALSE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -