我需要創建一個方法來從雙向鏈表中刪除給定的節點(稱爲「傑克」的節點)。如何從雙向鏈表中刪除節點?
這裏是我的代碼:
鏈表類:
class DoublyLinkedList
{
public Node head, current;
public void AddNode(object n) // add a new node
{
if (head == null)
{
head = new Node(n); //head is pointed to the 1st node in list
current = head;
}
else
{
while (current.next != null)
{
current = current.next;
}
current.next = new Node(n, current); //current is pointed to the newly added node
}
}
public void RemoveNode(object n)
{
}
public String PrintNode() // print nodes
{
String Output = "";
Node printNode = head;
if (printNode != null)
{
while (printNode != null)
{
Output += printNode.data.ToString() + "\r\n";
printNode = printNode.next;
}
}
else
{
Output += "No items in Doubly Linked List";
}
return Output;
}
}
執行按鈕代碼: 我已經添加了3個節點,你可以看到,我想刪除「傑克」節點。
private void btnExecute_Click(object sender, EventArgs e)
{
DoublyLinkedList dll = new DoublyLinkedList();
//add new nodes
dll.AddNode("Tom");
dll.AddNode("Jack");
dll.AddNode("Mary");
//print nodes
txtOutput.Text = dll.PrintNode();
}
@deviantfan問題是我不知道如何創建一個方法,刪除節點。 – Maattt
@nintendojunkie我沒有嘗試過任何東西,因爲我不知道該怎麼做,我對此很新。 – Maattt
無論誰投票結束這個問題,因爲「缺乏足夠的信息來診斷問題。」 - 顯然,有足夠的信息來診斷問題。我不明白爲什麼應該關閉。 – dcastro