15 lines
382 B
Ruby
15 lines
382 B
Ruby
class ListNode
|
|
def insert_after(search_value, new_value)
|
|
if search_value == value
|
|
self.succ = self.class.new(new_value, succ)
|
|
elsif self.succ.nil?
|
|
raise StandardError, "value #{search_value} not found in list"
|
|
else
|
|
self.succ.insert_after(search_value, new_value)
|
|
end
|
|
end
|
|
end
|
|
|
|
list = ListNode.new(:a, ListNode.new(:b))
|
|
list.insert_after(:a, :c)
|