在C#中,双向链表可以使用LinkedList
类来实现
using System; using System.Collections.Generic; class Program { static void Main() { // 创建一个双向链表并添加元素 LinkedListlinkedList = new LinkedList (); linkedList.AddLast(1); linkedList.AddLast(2); linkedList.AddLast(3); linkedList.AddLast(4); linkedList.AddLast(5); // 正向遍历双向链表 Console.WriteLine("正向遍历双向链表:"); LinkedListNode currentNode = linkedList.First; while (currentNode != null) { Console.Write(currentNode.Value + " "); currentNode = currentNode.Next; } Console.WriteLine(); // 反向遍历双向链表 Console.WriteLine("反向遍历双向链表:"); currentNode = linkedList.Last; while (currentNode != null) { Console.Write(currentNode.Value + " "); currentNode = currentNode.Previous; } Console.WriteLine(); } }
在这个示例中,我们首先创建了一个包含5个整数的双向链表。然后,我们分别使用正向和反向遍历方法遍历链表并输出元素。正向遍历从头节点开始,通过Next
属性移动到下一个节点;反向遍历从尾节点开始,通过Previous
属性移动到上一个节点。