如何访问链接列表的元素?

发布于 2024-10-20 19:57:08 字数 141 浏览 1 评论 0原文

由于Java中没有自引用指针概念...我该如何解决这个问题...

我不允许在Java中使用内置的链接列表类...

但是“应该遵循与像 C 中一样创建链接列表。” Java中最好的替代节点->下一个,节点->上一个......

Since there are no self-refering pointer concept in Java... How do I proceed to tackle this issue...

I am not allowed to use Built in class of Link List in Java...

But "Should follow the same method of creation of Link List like in C." What could be the best Substitute node->next, node->prev in Java...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

扶醉桌前 2024-10-27 19:57:08

在java中,链表可以通过创建一个带有自身成员变量的类来实现,而不是带有指向下一个节点的指针和var的对象。

下面列出了示例实现:

 1    public class Node
 2  {
 3      private int myInt;
 4      private Node nextNode;
 5     
 6      public Node(int val)
 7      {
 8          myInt = val;
 9          nextNode = null;
10          return this;
11      }
12  
13      public int getMyInt()
14      {
19          return myInt;
20      }
21  
22      public Node(Node prev, int val)
23      {
24          prev.nextNode = this;
25          myInt = val;
26          nextNode = null;
27      }
28  
29      public void addNode(Node newNode)
30      {
31          nextNode = newNode;
32      }
33  
34      public void printNodes()
35      {
36          System.out.println(myInt);
37          if (nextNode != null)
38          {
39              nextNode.printNodes();
40          }
41      }
42  
43      public void printNode()
44      {
45          System.out.println(myInt);
46      }
47
48      public Node nextNode()
49      {
50          return this.nextNode;
51      }
52  }

要创建链接列表,请创建头:

Node head = new Node(1);

该节点类有两种将节点添加到列表的方法:

Node secondNode = new Node(head, 2);

或者

head.addNode(new Node(2))

这里是一个值为 1 - 10 的列表的示例

Node head = new Node(1);
Node tempPtr = head;

while ( tempPtr.getMyInt() <= 10 )
{
    tempPtr.addNode(new Node(tempPtr.getMyInt()+1));
    tempPtr = tempPtr.nextNode();
}

现在您可以打印访问以下元素通过迭代列表来获取此列表。

tempPtr = head;
while ( tempPtr != Null )
{
    tempPtr.printNode()
    tempPtr = tempPtr.nextNode()
}

Instead of an object with a pointer to the next node and an var, in java linked lists can be implemented by making a class with a member variable of itself.

a sample implementation is listed below:

 1    public class Node
 2  {
 3      private int myInt;
 4      private Node nextNode;
 5     
 6      public Node(int val)
 7      {
 8          myInt = val;
 9          nextNode = null;
10          return this;
11      }
12  
13      public int getMyInt()
14      {
19          return myInt;
20      }
21  
22      public Node(Node prev, int val)
23      {
24          prev.nextNode = this;
25          myInt = val;
26          nextNode = null;
27      }
28  
29      public void addNode(Node newNode)
30      {
31          nextNode = newNode;
32      }
33  
34      public void printNodes()
35      {
36          System.out.println(myInt);
37          if (nextNode != null)
38          {
39              nextNode.printNodes();
40          }
41      }
42  
43      public void printNode()
44      {
45          System.out.println(myInt);
46      }
47
48      public Node nextNode()
49      {
50          return this.nextNode;
51      }
52  }

To create a link list, create head:

Node head = new Node(1);

This node class has two ways of adding nodes to the list:

Node secondNode = new Node(head, 2);

or

head.addNode(new Node(2))

here is an example of a list with values 1 - 10

Node head = new Node(1);
Node tempPtr = head;

while ( tempPtr.getMyInt() <= 10 )
{
    tempPtr.addNode(new Node(tempPtr.getMyInt()+1));
    tempPtr = tempPtr.nextNode();
}

now you can print access the elements of this list by iterating through the list.

tempPtr = head;
while ( tempPtr != Null )
{
    tempPtr.printNode()
    tempPtr = tempPtr.nextNode()
}
诠释孤独 2024-10-27 19:57:08

“this”关键字是指向 self 的指针。
关于您问题的其余部分 - 请澄清。

The "this" keyword is the pointer to self.
Re the rest of your question- please clarify.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文