using System;
using System.Collections.Generic;
class CircularLinkedList<T>
{
private LinkedList<T> linkedList;
public CircularLinkedList()
{
linkedList = new LinkedList<T>();
}
// 将链表头节点的引用作为尾节点的 Next,形成环
public void MakeCircular()
{
if (linkedList.First != null)
{
linkedList.Last.Next = linkedList.First;
}
}
// 在链表末尾添加元素
public void AddLast(T value)
{
linkedList.AddLast(value);
}
// 遍历链表并打印每个元素
public void PrintList()
{
Console.WriteLine("Circular Linked List Elements:");
LinkedListNode<T> currentNode = linkedList.First;
do
{
Console.WriteLine(currentNode.Value);
currentNode = currentNode.Next;
} while (currentNode != null && currentNode != linkedList.First);
}
}
class Program
{
static void Main()
{
CircularLinkedList<int> circularList = new CircularLinkedList<int>();
// 在循环链表中添加元素
circularList.AddLast(1);
circularList.AddLast(2);
circularList.AddLast(3);
// 使链表成为循环链表
circularList.MakeCircular();
// 打印循环链表的元素
circularList.PrintList();
}
}
Unity中的数据结构 - 线性数据结构 - 循环链表
最新推荐文章于 2024-05-12 22:15:45 发布