下面是我定义的指针结构:
struct stRect
{
RECT rcDrawRect;
stRect* pNext;
};
typedef stRect* pStRect;
pStRect Vec,vHead;以及为节点分配空间:
Vec=new stRect;
if (Vec!=NULL)
{
Vec->pNext=NULL;
Vec->bSelected=FALSE;
}
Vec->pNext=vHead;//头插入
vHead=Vec;可是在删除的时候,出现为题,请教大虾,在线等~(要包括头删除,中间节点的删除)
小弟新手,请详细点`````
struct stRect
{
RECT rcDrawRect;
stRect* pNext;
};
typedef stRect* pStRect;
pStRect Vec,vHead;以及为节点分配空间:
Vec=new stRect;
if (Vec!=NULL)
{
Vec->pNext=NULL;
Vec->bSelected=FALSE;
}
Vec->pNext=vHead;//头插入
vHead=Vec;可是在删除的时候,出现为题,请教大虾,在线等~(要包括头删除,中间节点的删除)
小弟新手,请详细点`````
{
RECT rcDrawRect;
stRect* pNext;
stRect()
{
pNext = NULL;
}
~stRect()
{
if(pNext != NULL)
delete pNext;
}
};
....
delete Vec;
即可.
Vec=new stRect;
if (Vec!=NULL)
{
Vec->pNext=NULL;
Vec->bSelected=FALSE;
}
Vec->pNext=vHead;//头插入
vHead=Vec;//////////////插入结点
Vec=new stRect;
if(Vec)
{
vHead->next=Vec;
Vec->next=NULL;
}
//////////删除结点
寻找到Vec结点前继结点pCur;
开始删除:
pCur->next=Vec->next;
delet Vec;