实现双向链表可以借助 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>
类表示双向链表,包含添加节点和打印链表的方法。
你可以根据需要修改或扩展这个代码来实现更多功能。希望这个示例能够帮助到你实现双向链表。