2025-11-20 06:29:24
链表结构就是节点连起来的东西,每个节点有个小盒子装数据和个箭头指下一个。头节点在开头,尾节点后面没东西了,循环链表的话尾节点箭头会指回头节点。这样数据不用挤一起,哪里都能放得下。
为啥是这个样子的呢?因为早期内存管理麻烦,数组要连续空间,放不下就全得搬。节点自己带着地址就能跳着走,比如5个节点各10字节,总共50字节,比数组少浪费很多。比如头节点A指向B,B指向C,C指向D,D指向A,这样转一圈回到头。内存分配时,每个节点占用的空间可以分散在不同地方,访问时就像坐公交车,到站就跳车。比如要加个E在B后面,直接改B的箭头指向E就行,不用动其他节点。这样动态增删特别方便,就像排队时插队,不用让所有人都动。数据存放在哪里都没关系,只要知道当前节点位置就能找到所有数据。
本题链接: