网站备案好,哪个网站做简历,免费客户管理软件排行,升级wordpressLinkedList 概述 LinkedListT 通过节点#xff08;Node#xff09;来存储数据#xff0c;每个节点包含数据和指向下一个节点的引用 LinkedListT 存储的元素是可重复的 LinkedListT 支持泛型#xff0c;可以指定存储的元素的类型 LinkedList…LinkedList 概述 LinkedListT 通过节点Node来存储数据每个节点包含数据和指向下一个节点的引用 LinkedListT 存储的元素是可重复的 LinkedListT 支持泛型可以指定存储的元素的类型 LinkedListT 不支持索引因为它通过节点Node来存储数据 LinkedListT 不是线程安全的在多线程环境中需要谨慎使用 一、LinkedList 的定义
定义 LinkedList
LinkedListint nums new LinkedListint();定义 LinkedList 并填充一些元素
LinkedListint nums new LinkedListint(new int[] { 1, 2, 3, 4, 5 });二、LinkedList 结点的遍历
1、使用 foreach 循环遍历
LinkedListint nums new LinkedListint(new int[] { 1, 2, 3, 4, 5 });foreach (int value in nums)
{Console.WriteLine(value);
}# 输出结果1
2
3
4
52、使用 First 属性与 Next 属性遍历
LinkedListint nums new LinkedListint(new int[] { 1, 2, 3, 4, 5 });LinkedListNodeint currentNode nums.First;
while (currentNode ! null)
{Console.WriteLine(currentNode.Value);currentNode currentNode.Next;
}# 输出结果1
2
3
4
5三、LinkedList 的常用方法
1、LinkedList 结点的添加对于 LinkedList
从 LinkedList 头部添加
LinkedListint nums new LinkedListint();nums.AddLast(1);
nums.AddLast(2);
nums.AddLast(3);foreach (int value in nums)
{Console.WriteLine(value);
}# 输出结果1
2
3从 LinkedList 尾部添加
LinkedListint nums new LinkedListint();nums.AddFirst(1);
nums.AddFirst(2);
nums.AddFirst(3);foreach (int value in nums)
{Console.WriteLine(value);
}# 输出结果3
2
1从 LinkedList 头部和尾部添加
LinkedListint nums new LinkedListint();nums.AddLast(1);
nums.AddLast(2);
nums.AddLast(3);nums.AddFirst(1);
nums.AddFirst(2);
nums.AddFirst(3);foreach (int value in nums)
{Console.WriteLine(value);
}# 输出结果3
2
1
1
2
32、LinkedList 结点的添加对于结点
在某个结点之后添加
LinkedListint nums new LinkedListint();nums.AddLast(1);
nums.AddLast(2);
nums.AddLast(3);LinkedListNodeint secondNode nums.First.Next;
nums.AddAfter(secondNode, 10);foreach (int value in nums)
{Console.WriteLine(value);
}# 输出结果1
2
10
3在某个结点之前添加
LinkedListint nums new LinkedListint();nums.AddLast(1);
nums.AddLast(2);
nums.AddLast(3);LinkedListNodeint secondNode nums.First.Next;
nums.AddBefore(secondNode, 10);foreach (int value in nums)
{Console.WriteLine(value);
}# 输出结果1
10
2
33、LinkedList 结点的删除
删除指定数据的结点
LinkedListint nums new LinkedListint();nums.AddLast(1);
nums.AddLast(2);
nums.AddLast(3);Console.WriteLine(删除结点之前);
foreach (int value in nums)
{Console.WriteLine(value);
}nums.Remove(2);Console.WriteLine(删除结点之后);
foreach (int value in nums)
{Console.WriteLine(value);
}# 输出结果删除元素之前
1
2
3
删除元素之后
1
3删除第一个结点
LinkedListint nums new LinkedListint();nums.AddLast(1);
nums.AddLast(2);
nums.AddLast(3);Console.WriteLine(删除结点之前);
foreach (int value in nums)
{Console.WriteLine(value);
}nums.RemoveFirst();Console.WriteLine(删除结点之后);
foreach (int value in nums)
{Console.WriteLine(value);
}# 输出结果删除元素之前
1
2
3
删除元素之后
2
3删除最后一个结点
LinkedListint nums new LinkedListint();nums.AddLast(1);
nums.AddLast(2);
nums.AddLast(3);Console.WriteLine(删除结点之前);
foreach (int value in nums)
{Console.WriteLine(value);
}nums.RemoveLast();Console.WriteLine(删除结点之后);
foreach (int value in nums)
{Console.WriteLine(value);
}# 输出结果删除结点之前
1
2
3
删除结点之后
1
24、LinkedList 结点的清空
LinkedListint nums new LinkedListint();nums.AddLast(1);
nums.AddLast(2);
nums.AddLast(3);Console.WriteLine(清空结点之前);
foreach (int value in nums)
{Console.WriteLine(value);
}nums.Clear();Console.WriteLine(清空结点之后);
foreach (int value in nums)
{Console.WriteLine(value);
}# 输出结果清空结点之前
1
2
3
清空结点之后5、LinkedList 结点的查找
LinkedListint nums new LinkedListint();nums.AddLast(1);
nums.AddLast(2);
nums.AddLast(3);LinkedListNodeint node nums.Find(2);Console.WriteLine(node.Value);# 输出结果2