0

您将如何在非模板化 C++ 链表中实现查找函数?

remove 函数的实现方式如下:

 bool LinkedList::remove(Node* n)
 {
      Node *temp = front, *prev = 0;

      for(int i = 0;i < size; i++)
      {
           if (temp == n) 
           {
                if (temp == front)
                {
                     front = n->next;
                } 
                else 
                {
                     prev->next = temp->next;
                }

               delete temp;
               size --;
               return true;
          }
          prev = temp;
          temp = temp->next;
     }
     return false;
}
4

1 回答 1

1

这里有一个提示:该remove()函数已经完成了几乎所有find()需要做的事情。您只需要弄清楚要保留哪些位以及要摆脱哪些位。如果有的话,您需要添加的东西将是最少的。它将取决于find()您未指定的 API。

于 2012-11-27T14:20:58.493 回答