当前位置: 首页 > 知识库问答 >
问题:

如何在Ruby中创建链表?

利永年
2023-03-14
9
5
2.3
8
-1

基本上我知道我必须创建两个类,一个名为“链表”的类代表整个列表,一个名为“节点”的类代表列表的每个元素,但我完全迷路了,我甚至不知道如何在不同的节点中“保存”每个元素,我以前从未使用过动态数据结构。如有任何帮助,不胜感激

共有1个答案

钦侯林
2023-03-14

Ruby通过引用存储对象(类的实例),通过值存储文字值(整数、符号等)。所以如果你想要一个整数链表,你只需要把它们包装成类。

class Node
  attr_accessor :value
  attr_accessor :next
end

它将创建类node,并使用valuenextgetter/setter方法。

在C语言中,我们将使用value为整数,而next为“指向节点的指针”。注意,我们不需要事先指定类型,因为Ruby是动态语言。而且,不需要显式的“获取指针”操作,因为正如我上面所说的,Ruby将通过引用自动传递对象。

node1 = Node.new
node1.value = -1

node2 = Node.new
node2.value = 8
node2.next = node1

这将创建node2->node1链表。

现在,有了对node2的引用,您可以遍历所有链表:

node = node2
while(node) do
  puts node.value
  node = node.next
end
# Prints:
# 8
# -1

你的问题没有宽泛或复杂之处。基本的。和Ruby玩得开心!

 类似资料:
  • 我想写一个这样的链表: 这是我迄今为止尝试过的,但显然是错误的。我想知道如何用java正确地表达这一点? 谢谢

  • 问题内容: 我有HTML的基本概念。我想在示例网站中创建下载链接,但是我不知道如何创建它。我该如何链接才能下载文件而不是访问文件? 问题答案: 这个答案已经过时了。现在,我们有了属性。 如果“下载链接”是指要下载文件的链接,请使用 在将下载开始之前,新的浏览器窗口出现。当浏览器发现资源是文件下载时,通常会关闭该窗口。 请注意,浏览器已知的文件类型(例如JPG或GIF图像)通常会在浏览器中打开。

  • 本文向大家介绍如何在HTML中创建书签链接?,包括了如何在HTML中创建书签链接?的使用技巧和注意事项,需要的朋友参考一下 要使用HTML创建书签链接,您需要使用<a>标记名称属性创建书签。现在,添加到书签的链接。书签也称为命名锚。这对于将读者带到网页的特定部分非常有用。 只要记住HTML5中不推荐使用的<a>标记名称属性。不使用。 示例 您可以尝试运行以下代码在HTML中创建书签链接。

  • 循环在具有特定键值对的文本文件上运行三次。每个循环都会返回一个新的散列,如下所示。我想将这些散列存储到另一个散列中。,和是散列的关键: 我将上述散列初始化为而不是我想将它们存储到散列中。我想初始化更大的散列,比如。 但它只给了我

  • 我试图在OpenAPI 3.0规范中创建一个响应链接。更具体地说,我想提供我的一个响应和其他可用操作之间的已知关系(参见。链接对象)。 在我的SpringBoot项目中,我使用Springdoc(版本:1.3.9)生成API文档。根据@ApiResponse#links文档,我已尝试使用以下endpoint代码实现我的目标: 不幸的是,我看不到任何结果在招摇过市的用户界面,但“没有链接”的描述。

  • 问题内容: 用Java创建链接列表的最佳方法是什么? 问题答案: 对于熟悉Java的开发人员来说,显而易见的解决方案是使用java.util中已经提供的LinkedList类。说,但是,由于某种原因,你想进行自己的实现。这是一个链接列表的快速示例,该链接列表在列表的开头插入新链接,从列表的开头删除并循环浏览列表以打印其中包含的链接。对此实现的增强包括使其成为双向链接列表,添加从中间或结尾插入和删除