最赞回答 / ___TINGWEN
清空一个链表应该是把它的每个结点所占的内存全部进行清空,所以要从前往后遍历,每遍历一个结点,就把遍历过的结点进行删除,但是呢,在删除当前结点之前,要将当前结点的下一个结点保存起来,不然删除之后就找不到下一个结点来进行清空了,所以要使用temp来保存当前结点的下一个结点Node *temp=currentNode->next(currentNode结点的指针域指向的就是下一个结点,就是currentNode->next就是下一个结点),保存之后呢,再把当前结点删除掉也就是delete curre...
2018-04-24
bool List::PriorElem(int *currentElem,int *preElem)
{
int i = 0;
i = LocateElem(currentElem);
if(i > 0)
{
*preElem = m_pList[i-1];
return true;
}
else
{
return false;
}
}
/*因为Locate函数返回的值只有非负和负数情况,所以可以在实现找前驱(后继)的函数里直接分成两种情况考虑情况*/
{
int i = 0;
i = LocateElem(currentElem);
if(i > 0)
{
*preElem = m_pList[i-1];
return true;
}
else
{
return false;
}
}
/*因为Locate函数返回的值只有非负和负数情况,所以可以在实现找前驱(后继)的函数里直接分成两种情况考虑情况*/
2018-03-27