簡體   English   中英

從作為參數 C++ 接收的鏈表中刪除節點

[英]Remove node from linked list received as parameter C++

我有一個 LinkedList 類,我想編寫一個方法來刪除作為指針在方法中作為參數接收的節點。

方法結構應如下所示:

void LinkedList: : removeAt(ListElem *arg);

我怎么寫這個方法? 因為我想不通

void LinkedList: : removeAt(LinkedList *ll, ListElem *arg) {
  if (!ll->head) return; // ll is your linked list object
  if (ll->head == arg) {
    struct ListElem *head = ll->head;
    ll->head = head->next;
    delete head;
    return;
  }
  struct ListElem *current = ll->head;
  while (current->next) {
    if (current->next == arg) {
      struct ListElem *next = current->next;
      current->next = next->next;
      delete next;
      break;
    }
    current = current->next;
  }
}

根據評論更新。 謝謝!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM