我理解链表的定义,但如何表示链表并将其与公共概念或项相关联?
例如,OOP中的组合(编辑:最初说的“继承”)可以与汽车相关。现实生活中的所有(大多数)汽车本质上都是一样的;汽车有一个引擎,你可以启动()它,你可以让汽车开(),停()等等。汽车通常具有最大载客量,但公交车和SportsCar之间的载客量会有所不同,这两种车都是汽车。
有没有一些真实的,直观的简单的ole单链表的例子,就像我们继承的那样?典型的教科书链表示例显示了一个带有整数和指向下一个整数的指针的节点,它看起来并不是很有用。
非常感谢您的意见。
发布于 2009-03-13 19:25:02
链表类似于conga line。每个人都抱着前面的人的臀部,他们的臀部被后面的人轮流抱着,只有前排和后排的除外。将人员添加到行的唯一方法是找到正确的位置并分离该连接,然后插入新的一个或多个人员。
发布于 2009-03-13 19:27:42
我假设你想要一个比书中定义更隐含的解释,而不是如何使用链表的例子。
链表有点像寻宝游戏。你有一条线索,并且这条线索有一个指针指向查找下一条线索的位置。所以你转到下一个地方,获取另一个数据,和另一个指针。要在中间或结尾得到一些东西,唯一的方法就是从头开始遵循这个列表(或者作弊;)
发布于 2009-03-13 19:37:31
链表的实际示例是什么?
最简单和最直接的是火车。
火车车厢以特定的顺序连接在一起,因此它们可以以最有效的方式装载、卸载、转移、放下和取走。
例如,Jiffy Mix工厂需要糖、面粉、玉米粉等,转弯处可能是需要氯、硫酸和氢气的造纸厂。
现在,我们可以停下来,把每节车厢里的东西卸下来,然后让火车继续前进,但是火车上的其他东西必须坐着,面粉被从沉箱里吸出来,然后是糖,等等。
取而代之的是,车厢按顺序装载到火车上,以便整块车厢可以被拆卸,而火车的其余部分继续前进。
列车的尾部比中间的一部分更容易分离,也比在一个地方分离几节车厢和在另一个地方分离几节车厢容易得多。
但是,如果需要,您可以在列车中的任何位置插入和删除项目。
很像一个链表。
-Adam
https://stackoverflow.com/questions/644167
复制相似问题