繁体   English   中英

我将如何从单链列表中的特定节点返回数据?

[英]How would I go about returning the data from a specific node in a singly linked list?

我是否必须将节点搜索为堆栈或队列,并且在找到节点时将节点返回的数据设置为等于局部变量?

或者有没有一种方法可以调用列表中的已知位置,例如如何使用数组。

视觉上我在这里问的是:

因此, 数组的工作方式如下:

ArrayofStrings[Postion] returns String located at Position

有没有办法对像这样的链表做同样的事情?

SinglyLinkedList(Node) returns Multiple(string) Data(double) 

我猜想我必须在列表中搜索该节点,但是我想确保没有更简单的方法可以做到这一点。

java中的所有列表都提供get的实现,该实现返回list中的第n个元素。

LinkedList的优缺点

优点

  • 遍历
  • 在任何地方添加或删除,因为您只需要更改两个指针(Java中的引用)

缺点

  • 按索引获取,因为它将遍历元素,直到找到特定的元素(双向链表可能会更快一些,因为如果您拥有总数,则可以从开始或结束开始,具体取决于索引,即如果有100个元素,并且您想要转到75,您可以从另一端开始,只需要遍历25个元素)

数组的优缺点。

优点

  • 遍历(偶数子集),
  • 最后添加数据
  • 从特定位置获取元素。

缺点

  • 如果您从中间添加或删除元素,它将在该位置之后移动所有元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM