我需要從單向鏈表中刪除一個節點。我知道這是一件簡單的事情,但我的思想是空白的,我已經搜索谷歌和Stackoverflow,但我認真沒有發現任何幫助我的東西。從單向鏈表中刪除節點
基本上節點列表包含在一個桶中;像這樣:
struct node{
unsigned char id[20];
struct node *next;
};
struct bucket{
unsigned char id;
struct node *nodes;
};
,我有一個功能
struct bucket *dht_bucketfind(unsigned char *id); // return bucket with id[20]
找到正確的桶。所以我知道如何找到正確的桶,但我不知道如何去除給定的節點。我想通過nodeid刪除節點(我想,我還沒有真正寫過將調用remove函數的代碼;但是我認爲如果需要,我將能夠修改代碼)。我認爲這就是解決這個問題所需要的。提前致謝。
如果這是家庭作業,請添加「家庭作業」標記以通知潛在的答覆者。 – mkb 2011-02-27 22:46:59
嗯...現在我重讀了這個,我正在考慮你的mkb,好啊。 – BMitch 2011-02-27 22:55:43
這不是作業。我正在實施Kademlia作爲愛好項目。 – borg 2011-02-27 23:39:42