标准C库实现,特别是glibc(GNU C库)提供链表,堆栈等.数据结构,还是我们必须自己滚动?
谢谢.
这不完全是一个技术问题,因为我知道C有足够的东西来做我需要的东西(我的意思是,不是'让语言妨碍你'),所以这个问题基本上是'什么方向'采取'问题.
情况是:我目前正在学习高级算法课程,并且为了"成长为程序员",我需要使用纯C来实现实际任务(它运作良好:几乎任何小错误你实际上都是你完全理解你正在做什么来解决它).在实现过程中,我显然遇到了必须从头开始实现"基本"数据结构的问题:实际上不仅是链表,还有堆栈,树等等.
我专注于本主题中的列表,因为它通常是一个结构,我最终在程序中使用了很多,作为"主"结构或作为其他更大的结构的"帮助"结构(例如,一个哈希树,可以解决使用链表冲突).
这要求列表存储许多不同类型的元素.我假设这里作为一个前提,我不想为每种类型重新编码列表.所以,我可以提出这些替代方案:
要明确问题:上述哪一个最好?
PS:由于我基本上处于学术背景中,因此我对在行业中使用纯C的人的观点也非常感兴趣.我知道大多数纯C程序员都在嵌入式设备领域,我不认为我面临的这种问题很常见.但是,如果那里的任何人知道它是如何"在现实世界中"完成的,我会对你的意见非常感兴趣.