C# LinkedList<T>
类似 Java 的 LinkedList<T>,底层使用双向链表。
构造函数
LinkedList<T>():默认初始化。LinkedList<T>(IEnumerable<T>):复制某集合进行初始化。
属性
Count:获取列表中节点的个数,内部进行计数维护,时间复杂度为 O(1)First:获取列表的第一个节点。Last:获取列表的最后一个节点。
方法
AddFirst(T):在列表中的开头处添加指定值的新节点。AddLast(T):在列表中的结尾处添加指定值的新节点。AddBefore(LinkedListNode<T>, T):在列表中指定现有节点前添加指定值的新节点。AddAfter(LinkedListNode<T>, T):在列表中指定现有节点后添加指定值的新节点。RemoveFirst():移除位于列表开头处的节点。RemoveLast():移除位于列表结尾处的节点。Remove(LinkedListNode<T>):移除指定的节点。
以上增删操作不包含定位节点,不需要移动列表中的其他节点,时间复杂度皆为 O(1)。
Find(T):查找包含指定值的第一个节点。FindLast(T):查找包含指定值的最后一个节点。Contains(T):确定某值是否在列表中。Remove(T):移除指定的值的第一个匹配的节点。
以上操作直接或间接地定位节点,需要遍历列表,时间复杂度为 O(n)。

浙公网安备 33010602011771号