排序双链表Java

时间:2011-03-09 15:55:06

标签: java linked-list

我在这里遇到了一个问题,实现了排序的名字和名字的双重链接列表。

  

为每个链接添加一个字段,指示按字母顺序排列的下一个名字;现有的下一个链接用于指示按字母顺序排列的下一个姓氏。您还需要列表的第二个根链接 - 现有的根链接指示按字母顺序排列的姓氏,您需要一个指示字母顺序的第一个名字。请注意,对于列表中输入的每个名称,您仍然只有一个链接对象。

     

完成此操作后,对插入,查找和删除方法进行必要的更改,以便维护两个交错列表。还要根据需要更新运行时估计值以保持准确。

     

最后,添加第二个查找方法,该方法接受名字并返回包括该名字在内的所有全名,以及第二个显示方法,该方法按名字的字母顺序打印名称列表。确保您也为这些方法提供运行时估计值。

我完全失去了如何做到这一点。我已经创建了一个带有名字和姓氏的链接列表,但这是我能够得到的。

任何帮助都会很棒:D

谢谢。

3 个答案:

答案 0 :(得分:1)

  1. 创建一个包含两个链接字段(nextFirstName,nextLastName)的链接类和一个名称对象的字段。
  2. 在插入时,首先搜索之前(LastName)这个新对象的Link对象,然后使用nextLastName字段将其插入。然后使用nextFirstName字段作为链接对FirstName执行相同的操作。
  3. ?????
  4. 的利润!
  5. 这的味道很像家庭作业:)

答案 1 :(得分:1)

因为您已经实现了单链接列表,所以扩展到双向链接列表应该不会太困难。你已经有了参考资料(见下图)。现在您还需要添加向后的引用。另外,请注意下图中的蓝线。添加拼写属性的其他参考。所以每个节点都有变量:

private Node NextFirstName;
private Node PreviousFirstName;
private Node NextLastName;
private Node PreviousLastName;

enter image description here

答案 2 :(得分:0)

您不需要向后引用!该任务要求使用与链接相同的对象,例如2个单链接列表。每个对象都有两个链接:一个链接到列表A中的下一个项目,另一个链接到列表B中的下一个项目。