在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
屬性移動到上一個節點。