1.集合:由一个或多个确定的元素所构成的整体
特性:集合里的元素类型不一定相同。集合里的元素没有顺序。
2.列表(线性列表):一种数据项构成的有限序列。即按照一定的线性顺序,排列而成的数据项的集合。
特性:列表里的元素类型不一定相同。列表元素具有顺序。列表长度可变。
编程语言中,列表最常见的形式为数组和链表,栈和队列是两种特殊类型的列表。
3.数组:列表的实现方式之一。
特性:不同的编程语言中,数组的实现方式有一定差别。在C++和Java中,数组元素类型必须保持一致。在Python中的数组叫做list,具有更多高级功能,数组元素可以不保持一致。
如何区分列表和数组?索引
数组使用索引来标识每项数据在数组中的位置,快速访问数组元素。(大多数索引从0开始)
列表没有索引
如何区分列表和数组?连续存储
数组元素在内存中是连续存储的,每个元素占用相同大小的内存。
列表元素在内存中可能彼此相邻也可能不相邻。例如链表(列表另一种实现形式)元素在内存中不一定连续。
总结:集合是爷爷,列表是爸爸,数组是儿子