C/C++编程笔记:链接列表(链表)及其遍历,今天就教你

本文介绍了链表作为一种线性数据结构,与数组的区别以及其优势和劣势。链表允许动态大小,简化插入和删除操作,但不支持随机访问。文章通过C语言展示了如何创建和遍历链表,以及链表节点的结构。最后,提供了一个通用的printList()函数来遍历并打印链表的所有节点数据。
摘要由CSDN通过智能技术生成

像数组一样,链表是线性数据结构。与数组不同,链接列表元素不存储在连续的位置;元素使用指针链接。

为什么要链接列表?

数组可用于存储相似类型的线性数据,但是数组具有以下限制。

1)数组的大小是固定的:因此,我们必须提前知道元素数量的上限。而且,通常,所分配的存储器与用途无关而等于上限。

2)在元素数组中插入新元素非常昂贵,因为必须为新元素创建空间,并且为创建房间而必须移动现有元素。

例如,在系统中,如果我们在数组id []中维护ID的排序列表。

id [] = [1000,1010,1050,2000,2040]。

如果要插入新的ID 1005,则要保持排序顺序,我们必须将所有元素都移到1000(不包括1000)之后。

除非使用某些特殊技术,否则删除数组也很昂贵。例如,要删除id []中的1010,必须移动1010之后的所有内容。

相对于阵列的优势

1)动态大小

2)易于插入/删除

缺点:

1)不允许随机访问。我们必须从第一个节点开始顺序访问元素。因此,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值