65,204
社区成员
发帖
与我相关
我的任务
分享
template <class ElementType>
ZList<ElementType>::~ZList()
{
;//实现,释放内存!!
}
template <class ElementType>
ElementType* ZList <ElementType>::ZNew()
{
if(m_dwListNowCount < m_dwListMaxCount)
{
cout<<"df"<<endl;
ZElement <ElementType>* pZElement = m_pEmptyListHead;
ZeroMemory(pZElement->Element,sizeof(pZElement->Element));
if (m_dwListNowCount == 0)
m_pListHead = m_pEmptyListHead;
m_pListTrail->Next = m_pEmptyListHead;
m_pEmptyListHead->Prev = m_pListTrail;
m_pListTrail = m_pEmptyListHead;
m_pEmptyListHead = m_pEmptyListHead->Next;
pZElement->Next = NULL;
m_setListIndex.insert((DWORD)&pZElement);
m_dwListNowCount++;
return pZElement->Element;
}
else
{
ZElement <ElementType>* pZElement = new ZElement <ElementType>;
if (pZElement != NULL)
{
pZElement->Element = new ElementType;
pZElement->Next = NULL;
pZElement->Prev = m_pEmptyListTrail;
if (m_dwListNowCount==0)
m_pListHead = pZElement;
m_pListTrail = pZElement;
m_pListTrail->Next = pZElement;
m_dwListNowCount++;
m_dwListMaxCount++;
return pZElement->Element;
}
else
return NULL;
}
}