【发布时间】:2021-04-23 15:12:41
【问题描述】:
据我了解,如果我需要一个列表,我需要在声明后删除或多次添加项目,则链接列表很有用——这对数组来说是不可能/更难的事情。但基本上我可以用 C# 中的 List Class 做同样的事情。所以我的问题是,这两者有什么区别?
【问题讨论】:
-
A List 包装了一个数组。 LinkedList 连接它们之间的单元格:Creating a very simple linked list。链表(单/双/树)经过了速度优化,但需要更多内存。 Implementing Linked List (C# Corner).
-
列表允许以 O(1) 复杂度访问其任何元素,但链表具有 O(N) 复杂度(要访问最后一个元素,您需要访问所有前面的元素) .所以列表是可索引的,但链表不容易索引。这是一个相当大的区别。
-
这里是您问题的答案stackoverflow.com/questions/169973/…
-
谢谢大家,我的问题已经得到解答!
标签: c# list data-structures