请有人帮我解释一下链表吗?

fud*_*din 0 c linked-list

我已经尝试了很多东西来学习链表.但我所有的努力都被浪费了.请有人帮我通过提供他/她自己的代码来理解链表吗?在此先感谢.

Nul*_*ion 12

链表只是一个元素列表(通常称为节点),其中每个节点都有一个到下一个节点的引用(或指针,在C中):

http://img837.imageshack.us/img837/5613/ll1s.png

您可以通过指向第一个节点("head")并指向最后一个节点来跟踪列表 null

替代文字

每个元素指向下一个节点和前一个节点的链接列表称为双向链接列表.

替代文字

通过遵循这些引用,您可以遍历列表并获取任何节点.

链表在数组上的一个共同优点是可以在O(1)(常量)时间内插入和删除元素.缺点是你有O(N)随机访问.

请参阅Wikipedia了解更多信息.