【发布时间】:2020-04-10 06:42:51
【问题描述】:
我正在尝试做一个关于链接列表的作业,很遗憾,我无法在线发布我的代码。但一般问题是这样的:
我有一个有机体的链接列表: 列表 -> 斑马 -> 鬣狗 -> 狮子 -> 草
但我希望列表按顺序显示(食物链): 有序列表 -> 狮子 -> 鬣狗 -> 斑马 -> 草
另外,我可以将一个有机体添加到列表中,例如
list.add("T-Rex");
那么我想要的结果应该是 有序列表 -> 霸王龙 -> 狮子 -> 鬣狗 -> 斑马 -> 草
如何添加有机体,然后以显示层次结构的方式对它们进行排序?我可以放下的生物数量有限,所以我确切地知道将它们放在哪里。例如,我知道如果我放 T-Rex,它总是在 Lion 之上,Hyena 总是在 Grass 之前……等等。我一直在尝试在 YouTube 和 Google 上找到教程但他们主要是按字母顺序对数字或字符串进行排序,我认为这对我的问题没有帮助。
感谢任何帮助,因为这是我第一次处理链表。
【问题讨论】:
-
我猜你会用一个整数来表示每个物种在层次结构中的高度,那么希望按数字排序的教程会有所帮助。
-
在这种情况下,优先队列是为了救援,因为生物的数量是有限的而且你已经知道名字了,按照食物链的顺序给它们一个优先级,比如 T-Rex 的优先级为 1 ,Lion 2,Hyena-3 等等然后申请最小优先队列,希望它能解决你的问题。
-
谢谢你们!我查看了优先队列,我认为它应该有所帮助!
标签: java linked-list