這裡主要記錄單向列表新增和刪除乙個指定位置節點的書寫方法。
首先先建立鍊錶節點資料的基本型別:
#ifndef node_h
#define node_h
#include "person.h"
class node
;#endif // !node_h
接下來建立節點的節本型別:
class list
;#endif
往指定節點新增函式如下所示:
bool list::listinsert(int i, node *pnode)
node *currentnode = m_plist;
for (int k = 0; k < i; k++)
node *newnode = new node;
if (newnode == null)
newnode->data = pnode->data;
newnode->next = currentnode->next; //原本currentnode的下一節點變為了newnode的下乙個節點
currentnode->next = newnode; //newnode成為了currentnode的下一節點
m_ilength++;
return true;
}
刪除指定節點函式:
bool list::listdelete(int i, node *pnode)
node *currentnode = m_plist;
node *currentnodebefore = null;
for (int k = 0; k <= i; k++)
currentnodebefore->next = currentnode->next;
pnode->data = currentnode->data; //取出currentnode的值
delete currentnode;
currentnode = null;
m_ilength--;
return true;
}
刪除鍊錶中的乙個節點002單引數
237請編寫乙個函式,使其可以刪除某個鍊錶中給定的 非末尾 節點。傳入函式的唯一引數為 要被刪除的節點 現有乙個鍊錶 head 4,5,1,9 它可以表示為 鍊錶,函式引數只有乙個待刪節點 刪除節點,都是前乙個節點指向當前節點的後乙個節點,這個題的引數只有當前節點,並沒有煉表頭節點,不是兩個引數 所...
刪除乙個已知節點
delete a node in a list input plisthead the head of list ptobedeleted the node to be deleted void deletenode listnode plisthead,listnode ptobedeleted ...
給定乙個鍊錶,刪除鍊錶的倒數第n個節點,如何實現
給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點。示例 給定乙個鍊錶 1 2 3 4 5,和 n 2.當刪除了倒數第二個節點後,鍊錶變為 1 2 3 5.我們可以使用兩個指標而不是乙個指標。第乙個指標從列表的開頭向前移動 n 1 步,而第二個指標將從列表的開頭出發。現在,這兩個指標被...