在C#中,双向链表可以使用LinkedList<T>
类来实现
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// 创建一个双向链表并添加元素
LinkedList<int> linkedList = new LinkedList<int>();
linkedList.AddLast(1);
linkedList.AddLast(2);
linkedList.AddLast(3);
linkedList.AddLast(4);
linkedList.AddLast(5);
// 正向遍历双向链表
Console.WriteLine("正向遍历双向链表:");
LinkedListNode<int> 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
属性移动到上一个节点。