實現雙向鏈表可以借助 C# 中的泛型來實現。以下是一個簡單的雙向鏈表的示例代碼:
using System;
public class Node<T>
{
public T Data { get; set; }
public Node<T> Next { get; set; }
public Node<T> Prev { get; set; }
public Node(T data)
{
Data = data;
Next = null;
Prev = null;
}
}
public class LinkedList<T>
{
private Node<T> head;
private Node<T> tail;
public void Add(T data)
{
Node<T> newNode = new Node<T>(data);
if (head == null)
{
head = newNode;
tail = newNode;
}
else
{
tail.Next = newNode;
newNode.Prev = tail;
tail = newNode;
}
}
public void Print()
{
Node<T> current = head;
while (current != null)
{
Console.Write(current.Data + " ");
current = current.Next;
}
Console.WriteLine();
}
}
class Program
{
static void Main()
{
LinkedList<int> list = new LinkedList<int>();
list.Add(1);
list.Add(2);
list.Add(3);
list.Print();
}
}
在這個示例中,我們定義了一個 Node<T>
類表示鏈表中的節點,包含數據和指向前一個節點和后一個節點的引用。然后定義了一個 LinkedList<T>
類表示雙向鏈表,包含添加節點和打印鏈表的方法。
你可以根據需要修改或擴展這個代碼來實現更多功能。希望這個示例能夠幫助到你實現雙向鏈表。