C#中的LinkedList类相关的方法
·
C#内的LinkedList类是内部封装好的泛型双向链表类,提供了常用的增删改查与遍历方式。
using System;
using System.Collections.Generic;
namespace lesson10
{
class Program
{
static void Main(string[] args)
{
LinkedList<int> linkedList = new LinkedList<int>();
#region 增删查改
//增加
//1.链表尾添加元素
linkedList.AddLast(1);
linkedList.AddLast(2);
linkedList.AddLast(3);
//2.链表头添加元素
linkedList.AddFirst(4);
linkedList.AddFirst(5);
linkedList.AddFirst(6);
//3.在某结点后添加一个结点(先找再加)
LinkedListNode<int> n1 = linkedList.Find(4);
linkedList.AddAfter(n1, 999);
//4.在某结点前添加一个结点(先找再加)
linkedList.AddBefore(n1, 666);
//删除
//1.移除头结点
linkedList.RemoveFirst();
//2.移除尾结点
linkedList.RemoveLast();
//3.移除指定结点
linkedList.Remove(3);
//4.清空
linkedList.Clear();
//**********************************
linkedList.AddLast(1);
linkedList.AddLast(2);
linkedList.AddLast(3);
linkedList.AddFirst(4);
linkedList.AddFirst(5);
linkedList.AddFirst(6);
//***********************************
//查找
//1.查找头结点
LinkedListNode<int> head = linkedList.First;
//2.查找尾结点
LinkedListNode<int> tail = linkedList.Last;
//3.找到指定结点
LinkedListNode<int> node = linkedList.Find(3);
//4.判断是否包含
if (linkedList.Contains(4))
{
Console.WriteLine(true);
}
//修改(先查再改)
linkedList.First.Value = 888;
#endregion
#region 遍历
//1.foreach遍历
foreach (int item in linkedList)
{
Console.WriteLine(item);
}
Console.WriteLine("**************************************");
//2.从头到尾通过结点遍历
LinkedListNode<int> current = linkedList.First;
while (current != null)
{
Console.WriteLine(current.Value);
current = current.Next;
}
Console.WriteLine("**************************************");
//3.从尾到头通过结点遍历
LinkedListNode<int> current2 = linkedList.Last;
while (current2 != null)
{
Console.WriteLine(current2.Value);
current2 = current2.Previous;
}
#endregion
}
}
}
更多推荐



所有评论(0)