关于寻找前驱时,传入节点的判断
template<typename T> bool List<T>::PriorElem(T * currentElem, T * preElem) { if (currentElem == m_pList->next)//判断传入节点是否为头结点后面的节点 { return false; } Node *temp=m_pList; Node *tempBefore=NULL; while(temp->next != NULL) { tempBefore=temp; temp=temp->next; if (temp->data == currentElem->data) { preElem->data=tempBefore->data; return true; } } return false; }
我用了模板类,这个可以无视,只想知道判断 传入节点 是否为 头结点后面的节点 这个功能有没有必要放在while循环里面
因为不用判断传入的data与链表内的data是否相同,只需要判断节点是否相同即可,老师那样会多出不必要的循环码?