c#LinkedList

张开发
2026/4/13 6:21:04 15 分钟阅读

分享文章

c#LinkedList
概念LinkedList是一个C#为我们封装好的类它的本质是一个可变类型的泛型双向链表声明需要引用命名空间using System.Collections.GenericLinkedListint linkedList new LinkedListint(); LinkedListstring linkedList2 new LinkedListstring();链表对象 需要掌握两个类一个是链表本身 一个是链表节点类LinkedListNode增删查改增在链表尾部添加元素linkedList.AddLast(10);在链表头部添加元素linkedList.AddFirst(20);在某一个节点之后添加一个节点要指定节点 先得得到一个节点LinkedListNodeint n linkedList.Find(20); linkedList.AddAfter(n, 15);在某一个节点之前添加一个节点要指定节点 先得得到一个节点linkedList.AddBefore(n, 11);删移除头节点linkedList.RemoveFirst();移除尾节点linkedList.RemoveLast();移除指定节点无法通过位置直接移除linkedList.Remove(20);清空linkedList.Clear();查头尾节点LinkedListNodeint first linkedList.First; LinkedListNodeint last linkedList.Last;找到指定值的节点无法直接通过下标获取中间元素只有遍历查找指定位置元素LinkedListNodeint node linkedList.Find(3); Console.WriteLine(node.Value); node linkedList.Find(5);判断是否存在if( linkedList.Contains(1) ) { Console.WriteLine(链表中存在1); }改要先得再改 得到节点 再改变其中的值Console.WriteLine(linkedList.First.Value); linkedList.First.Value 10; Console.WriteLine(linkedList.First.Value);遍历foreach遍历foreach (int item in linkedList) { Console.WriteLine(item); }通过节点遍历 从头到尾LinkedListNodeint nowNode linkedList.First; while (nowNode ! null) { Console.WriteLine(nowNode.Value); nowNode nowNode.Next; }从尾到头nowNode linkedList.Last; while (nowNode ! null) { Console.WriteLine(nowNode.Value); nowNode nowNode.Previous; }

更多文章