Advertisement
Guest User

Untitled

a guest
Jul 1st, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.61 KB | None | 0 0
  1. class LinkedList
  2. attr_accessor :value, :next_value
  3. def initialize(value, next_value = nil)
  4. @value = value
  5. @next_value = next_value
  6. end
  7. end
  8.  
  9. def display_values(nodes)
  10. if nodes
  11. print "#{nodes.value} --- "
  12. display_values(nodes.next_value)
  13. else
  14. print "nil\n"
  15.  
  16. end
  17. end
  18.  
  19. def reverse_list(list, previous=nil)
  20. current_head = list.next_value
  21. list.next_value = previous
  22. if current_head
  23. reverse_list(current_head,list)
  24. else
  25. list
  26. end
  27. end
  28.  
  29.  
  30. node1 = LinkedList.new(3)
  31. node2 = LinkedList.new(6, node1)
  32. node3 = LinkedList.new(9, node2)
  33. display_values(node3)
  34. puts "----"
  35. revlist = reverse_list(node3)
  36. display_values(revlist)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement