ruby 链表(脏)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 链表(脏)相关的知识,希望对你有一定的参考价值。
require 'pp'
class LinkedList
attr_accessor :head
def initialize(head=nil)
@head = head
head
end
def add_to_head(node)
node.next = @head
@head = node
node
end
def add_to_tail(node)
last = traverse
last.next = node
node
end
def traverse
runner = @head
while(runner.next)
runner = runner.next
end
runner
end
def has_value(value)
runner = @head
while(runner.next)
if runner.value == value
pp "value found:#{value} on Node:#{runner}"
break
end
runner = runner.next
end
end
end
class Node
attr_accessor :next, :value
def initialize(value)
@value = value
@nxt = nil
end
end
node_1 = Node.new("node_1")
node_2 = Node.new("node_2")
node_3 = Node.new("node_3")
node_4 = Node.new("node_4")
node_5 = Node.new("node_5")
list = LinkedList.new(node_1)
list.add_to_head node_2
list.add_to_head node_3
list.add_to_head node_4
list.add_to_head node_5
node_6 = Node.new("node_6")
list.add_to_tail(node_6)
pp list
list.has_value("node_3")
以上是关于ruby 链表(脏)的主要内容,如果未能解决你的问题,请参考以下文章
ruby 中没有扩展数组的最佳链表?
Mysql——flush链表
Ruby | 再好的墙布也需要保养,请你把我放在心上
Mysql原理篇之Innodb如何调整磁盘与CPU之间的矛盾--07
25.redis集群搭建笔记
脏数据的预防及处理