PriorElem函數不同寫法?
可不可以在Prior函數中調用Locate函數,用Locate得到i,for循環得到得到i-1節點?
寫成這樣:
bool List::PriorNode(Node* pCurrentNode, Node* pPreNode)
{
int i = 0;
i = LocateNode(pCurrentNode);
if (-1==i||0==i)
{
return false;
}
else
{
Node* currentnode = m_pList;
for (int k = 0;k < i;k++)
{
currentnode = currentnode->m_pnext;
}
pPreNode->m_idata = currentnode->m_idata;
return true;
}
}
2017-04-12
單鏈表找直接前趨結點要從頭結點開始遍歷.
你這樣先定位要找的結點,再從頭結點遍歷,不是多此一舉嗎,簡直就是浪費資源.