当我看到有些人使用数组而其他人使用了列表时,我在堆栈溢出中徘徊问题,我想知道列表和数组之间有什么区别。
答案 0 :(得分:5)
列表是一个概念;数组是在程序中实现它的正式方法。因此,它们通常被用作相同的东西。当我的意思是“数组”时,我经常说“列表”。
答案 1 :(得分:5)
过度简化的答案是数组包含内存中连续空间中的数据,列表通常将其信息存储在非连续空间中。在数组中,您可以通过向下移动到下一个元素(如移动到街道隔壁的房子)来了解下一个数据元素是什么。它是标准尺寸内存边界的物理位移,可让您找到下一个元素。
在"列表"列表中的每个元素都保留一个"指针"到列表中下一个元素的位置。因此,在阵列中,您可以跳到第5个元素,就像您可以直接走到街道的第五个房子一样。在列表中,您必须敲开每个房子的门,然后询问组内下一个房子的地址(即列表)是什么。下一个房子可以在城市的任何地方。