0

最近我在解决下一个问题时遇到了一个问题:

链表和数组有什么区别?

A. 两者都排序时的搜索复杂度
B. 动态添加/删除
C. 随机访问效率
D. 数据存储类型

我知道 A、B 和 C 是正确的,但我对 D 感到困惑。任何帮助将不胜感激。

4

2 回答 2

1

实际上,从数据存储类型的角度来看,它们之间没有区别。(也许从静态类型的编程语言的角度来看也应该说)你可以将任何结构或任何对象放入其中。关键是在大多数编程语言中,它们是一种类型,这意味着您可以只在它们上存储一种类型。但是,在链表中,您存储指向下一个元素的指针。因此,如果您用编程语言构建自己的链表,只要保持指向下一个元素的指针,就可以将任何类型放入其中。而在数组中,元素是通过指针算术到达的。因此,无论如何,它们都必须是一种类型。所以链表从数据存储类型的感知上来说更加灵活。

于 2013-04-07T08:55:25.880 回答
0

我认为作者的意思是数组在内存中是连续存储的,而链表不是。

于 2013-09-10T08:40:53.113 回答