链接列表查找函数C ++

时间:2012-11-27 14:14:34

标签: c++

如何在非模板化的C ++ linkedList中实现find函数?

删除功能按以下方式实现:

 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;
}

1 个答案:

答案 0 :(得分:1)

这是一个提示:remove()函数已经完成了find()几乎所有需要做的事情。你只需要确定要保留哪些位以及要删除哪些位。你需要添加的东西是最小的,如果有的话。它取决于find()的API,您没有指定。