链表是数据结构中存储数据的一种形式。分为单向链表和双向链表以及循环链表。LinkedList是泛型链表,用节点存取,节点类型为LinkedListNode<T>,每个节点都有Next和Previous属性,这就说明LinkedList是双向链表。链表的优点就是节省内存空间,每个节点包括两部分:数据域和指针域。每个节点相连,添加几个节点就占用几个节点的内存。
初始化:
LinkedList<int> intList = new LinkedList<int>();
添加一个新值到链表的开始:
intList.AddFirst(1);
添加一个新值到链表的结尾:
intList.AddLast(1);
获取第一个节点:
LinkedListNode<int> firstNode = intList.First;
获取最后一个节点:
LinkedListNode<int> lastNode = intList.Last;
在最后一个节点插入一个新值:
intList.AddBefore(lastNode, 3);
判断一个值是否存在:
intList.Contains(1);
查找指定值所在的节点:
LinkedListNode<int> node = intList.Find(1);
移除一个指定的值:
bool b = intList.Remove(1);
删除最开始的节点:
intList.RemoveFirst();
删除最后的节点:
intList.RemoveLast();
获取链表的节点数:
int count = intList.Count;
遍历链表:
foreach (var item in intList) { //TODO Something }