在C#中可以通過自定義雙向鏈表類來實現雙向鏈表。以下是一個簡單的雙向鏈表的實現方式:
public class Node<T>
{
public T Data { get; set; }
public Node<T> Next { get; set; }
public Node<T> Previous { get; set; }
public Node(T data)
{
Data = data;
Next = null;
Previous = null;
}
}
public class DoublyLinkedList<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.Previous = tail;
tail = newNode;
}
}
public void Print()
{
Node<T> current = head;
while (current != null)
{
Console.WriteLine(current.Data);
current = current.Next;
}
}
// 可以添加其他方法,如在指定位置插入節點、刪除節點等
}
使用示例:
DoublyLinkedList<int> list = new DoublyLinkedList<int>();
list.Add(1);
list.Add(2);
list.Add(3);
list.Print();
以上代碼實現了一個簡單的雙向鏈表,可以通過Add方法添加節點,并通過Print方法打印鏈表中的所有節點。在實際應用中,可以根據需要添加其他方法來操作雙向鏈表。