gpt4 book ai didi

java - 双向链表 Java

转载 作者:行者123 更新时间:2023-11-30 07:58:28 26 4
gpt4 key购买 nike

我对在 java 中创建我的 DLList 感到有些困惑。我的说明说我的 DLLNode 类应该有指向上一个和下一个节点的链接。我需要在数据部分下创建它还是一种方法?

谢谢你的时间

最佳答案

您可以像这样开始声明 DDList:

public class DLList {
private static class Node {
int data;
Node previous;
Node next;
Node(int d) {
data = d;
}
}

private Node head;
private Node tail;
// ...
}

一些亮点:

  • Node 类是DDList 的内部类,因此是一个成员。因此它与其他成员在同一部分中声明,例如领域。我相信这就是您所说的“数据部分”。
  • 您可以在Node之前声明headtail
  • 感谢静态,Node 没有对 DDList 的引用。这为每个 Node(仅)节省了 4 个字节,但如果您在 DDList 之外传递未链接的 Nodes,则可以避免内存泄漏。它也是更好的风格 ihmo。
  • 感谢 private,NodeDLList 之外是不可见的。由于您需要访问类才能访问其字段,这类似于将 Node 的字段设置为私有(private)。但它更有效,因为如果您访问 DLList 中的 Node 字段,编译器不必生成合成方法。
  • 考虑将 data 设为最终版本,这样它就无法更改。
  • 考虑使 DDList 通用。留给读者的一个很酷的练习 :-)

关于java - 双向链表 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40444455/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com