一郎科技|就靠这20+张图了,一口气搞懂「链表」
说真的 , 任何说起嵌入式软件怎么入门啊?需要学些什么东西啊 , 我差不多一致的回答都是:软件方面C语言和数据结构加上一些简单常用的算法 , 这些需要学好 。
借着自己的回顾学习 , 我也写一些基础的数据结构知识 , 多画图 , 少打字 , 与大家一起学习数据结构 。
以C语言数组插入一个元素为例 , 当我们需要在一个数组{1,2,3,4}的第1个元素后的位置插入一个’A’时 , 我们需要做的有:
将第1个元素后的整体元素后移 , 形成新的数组{1,2,2,3,4};
再将第2个元素位置的元素替换为我们所需要的元素’A’;
最终形成我们的预期 , 这需要很多的操作喔 。
必须为数组开足够的空间 , 否则有溢出风险 。
链表—链式存储由于数组的这些缺点 , 自然而然的就产生链表的思想了 。
链表通过不连续的储存方式 , 自适应内存大小 , 以及指针的灵活使用 , 巧妙的简化了上述的内容 。
链表的基本思维是 , 利用结构体的设置 , 额外开辟出一份内存空间去作指针 , 它总是指向下一个结点 , 一个个结点通过NEXT指针相互串联 , 就形成了链表 。
循环链表就像是中国男篮 , 火炬从姚明传给王治郅 , 王治郅传给易建联 , 现在易建联伤了 , 又传给了姚明 。
推荐阅读
- 无趣科技谈|X2凭实力拿下冠军,京东手机周销量榜单出炉,Find
- 毛毛科技说|三星S20+出现“小米价”,总算等到了,三星扛不住了
- 简简科技|余承东称鸿蒙体验已达安卓7成多,鸿蒙手机新进展
- ITheat热点科技|2020 | 坚持创新 舒尔带来MXA710音频解决方案,SSOT
- 空心|招聘丨山西千沐云物联科技有限公司
- LeoGo科技|科沃斯除菌地宝N8和米家扫拖机器人横评——两款解放双手的精品
- 小绿叶子科技|半年跌1000元,适合捡漏,iPhoneSE2扛不住了
- 电科技|“吃鸡”手游老是瞄不准?不妨选这款游戏外设配件
- 科技日日说|realme真我X7全方位评测:不一样的颜值,不一样的体验!,原创
- 硅谷聊科技|就不愿再用华为、小米了?,答案确认了!为啥很多人用了iPhone后