链表是什么

PS:本来这篇文章是打算塞到FreeRTOS里的,但是写着写着发现不太合适,于是干脆直接单开一篇写。之后看情况更新和优化吧······

       首先,什么是链表呢?什么又是节点?

        简单来说,每个节点由数据和指针组成,几个节点相连就组成了链表。

        我们把链表看作一列火车,那么每个车厢就是一个节点。车厢本身没什么特别的,关键在于它们运载的是什么。节点可以挂载不同类型的数据,比如int、char、float等。就像火车车厢可以有硬座和卧铺车厢,亦或是运煤、运矿石的车厢。而指针就像车厢之间的连接器,连接着相邻的每一节车厢。

        需要注意的是,节点可以挂载携带很多类型的数据,但是它们本身并不能存储多少数据。

        再讲一下数组和链表的区别,很多嵌入式公司都喜欢问这个问题。

        在内存上,数组是连续的一段地址,由于在应用时很难确定实际要用到多少内存,所以很容易造成内存的浪费。而链表是离散的,可以不连接在一起。链表数据前后之间通过指针连接,通过指针指向前一个或者后一个数据,就像车厢间的连接器。

PS:最后向大家推荐一下我这部分参照的B站up主——图码,他的视频结合代码和动画,视频简单易懂,目前还在更新数据结构的部分,希望大家能多支持一下他~(我真不是打广告的)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值