求助,使用new分配内存,何处使用delete?
struct NODE
{
float m_fData;
NODE *m_pNext;
};
NODE *pListHead;//链表头部指针
NODE *pNewNode;
NODE *pLastNode;
float fElement;//当前元素值
pListHead=NULL;//新链表
fElement=1024;
while(fElement>0.00001)
{
pNewNode=new NODE;
pNewNode->m_fData=fElement;
pNewNode->m_pNext=NULL;
if(pListHead==NULL)
{
pListHead=pNewNode;
pLastNode=pNewNode;
}
else
{
pLastNode->m_pNext=pNewNode;
pLastNode=pNewNode;
}
fElement/=2;
(1) delete pNewNode;
}
(2) delete pNewNode;[/color]
NODE *pCurNode=pListHead;
i=m=0;
CString str;
while(pCurNode->m_pNext!=NULL)
{
str.Format("%f",pCurNode->m_fData);
pDC->TextOut((++i)*20,(++m)*20,str);
pCurNode=pCurNode->m_pNext;
}
(3) delete pNewNode;[/color]
以上是一个链表实现一个从1024开始的等比数列,
while循环中使用了new创建了新的结点。
那么具体在何处采用delete删除结点呢?
(1)or (2) or (3) ??