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