集合&列表&数组三者的区别

集合、列表和数组是编程中常见的数据结构。集合包含不同类型元素,无特定顺序;列表如购物清单,元素有序且长度可变,可实现数组功能。数组通过索引定位元素,内存中连续存储,而列表的元素在内存中可能是不连续的,如链表。理解这些差异对于编程至关重要。
摘要由CSDN通过智能技术生成

集合&列表&数组三者的区别

首先介绍一下集合

  • 集合里的元素类型不一定相同,可以把一个超市看做一个集合,超市里有购物者和物品,他们之间没有关系。
  • 其次集合里的元素没有顺序。

然后介绍一下列表

  • 列表又称线性列表,所谓线性即它具有顺序,且长度是可变的

    • 我们可以把列表看做是一张购物清单。
    1. 购物清单中的条目代表的类型可能不同,但是按照一定顺序进行了排列;
    2. 购物清单的长度是可变的,你可以向购物清单中增加、删除条目。
  • 列表最常见的表现形式有数组链表,而我们熟悉的栈和队列则是两种特殊类型的列表。除此之外,向列表中添加、删除元素的具体实现方式会根据编程语言的不同而有所区分。

最后是数组

  • 数组是列表的实现方式之一

    • 数组是列表的实现方式,它具有列表的特征,同时也具有自己的一些特征。
  • 如何从宏观上区分列表和数组呢?这里有一个重要的概念:索引

    • 首先,数组会用一些名为 索引 的数字来标识每项数据在数组中的位置,且在大多数编程语言中,索引是从 0 算起的。我们可以根据数组中的索引,快速访问数组中的元素。

在这里插入图片描述

  • 而列表中没有索引,这是数组与列表最大的不同点。

    • 其次,数组中的元素在内存中是连续存储的,且每个元素占用相同大小的内存。要理解这一点,我们需要了解数组在内存中的存储方式。

在这里插入图片描述

  • 相反,列表中的元素在内存中可能彼此相邻,也可能不相邻。比如列表的另一种实现方式——链表,它的元素在内存中则不一定是连续的

。比如列表的另一种实现方式——链表,它的元素在内存中则不一定是连续的
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

殿君不是殿军

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值