问答详情
源自:3-8 链表编码实战(六)

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;

}

}


提问者:MFJ 2017-04-11 17:24

个回答

  • Luzhuo
    2017-04-12 21:55:36

    单链表找直接前趋结点要从头结点开始遍历.

    你这样先定位要找的结点,再从头结点遍历,不是多此一举吗,简直就是浪费资源.