数组和列表有什么区别?

3

当我在Stack Overflow上寻找问题时,我看到有些人使用数组,而其他人使用列表,我想知道列表和数组之间的区别。


请问您能提供一些背景信息来解释您的问题吗?可以举出两个用法的例子吗? - rmaddy
2个回答

13

简单来说,数组将数据存储在内存中连续的空间中,而列表通常将它们的信息存储在非连续的空间中。在数组中,您可以通过向下移动到下一个元素(就像沿着街道直接走到隔壁房子)来确定下一个数据元素。正是跨越标准大小内存边界的物理位移让您找到下一个元素。

在“列表”中,列表中的每个元素都保留了指向列表中下一个元素位置的“指针”。因此,在数组中,您可以跳转到第五个元素,就像您可以沿着街道直接走到第五个房子。在列表中,您必须敲开每个房子的门,并询问下一个组(即列表)中下一个房屋的地址。那个下一个房屋可能在城市的任何地方。


6
  • 列表是一种概念,而数组是在程序中实现它的正式方式。
  • 因此,它们经常被用作同一件事情。我经常说“列表”,当我的意思是“数组”时。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接