Creates a functional Linked List object in Ruby! This implementation includes the following methods to go with the object:
-
#append(value)
-- adds a new node containing value to the end of the list -
#prepend(value)
-- adds a new node containing value to the start of the list -
#size
-- returns the total number of nodes in the list -
#head
-- returns the first node in the list -
#tail
-- returns the last node in the list -
#at(index)
-- returns the node at the given index -
#pop
-- removes the last element from the list -
#contains?(value)
-- returns true if the passed in value is in the list and otherwise returns false. -
#find(value)
-- returns the index of the node containing value, or nil if not found. -
#to_s
-- represent LinkedList objects as strings, so you can print them out and preview them in the console. Format is: ( value ) -> ( value ) -> ( value ) -> nil -
#insert_at(value, index)
-- inserts a new node with the provided value at the given index. -
#remove_at(index)
-- removes the node at the given index.