def main():
    # creates the linked list with three data elements
    newlist = SingleLinkedList()
    newlist.head = Node("Mon")
    element2 = Node("Tue")
    element3 = Node("Wed")

    # Link first Node to second node, Link second Node to third node
    newlist.head.next = element2
    element2.next = element3
    """Traversing a Linked List"""
    newlist.traverse()
    """Insertion in a Linked List"""
    print("\n")
    newlist.insertion_begin("Sun")
    newlist.traverse()

    print("\n")
    newlist.insertion_end("Thu")
    newlist.traverse()

    print("\n")
    newlist.insertion_between(newlist.head.next, "Fri")
    newlist.traverse()
    """Removing an Item form a Liked List"""
    print("\n")
    newlist.remove("Wed")
    newlist.traverse()
def single_linked_list_test():
    s = SingleLinkedList()
    s.add_node_at_first(LinkedListNode(4))
    s.add_node_at_first(LinkedListNode(5))
    s.add_node_at_first(LinkedListNode(7))

    s.add_node_at_last(LinkedListNode(6))
    s.add_node_at_last(LinkedListNode(9))
    print("before delete")
    s.traverse()
    s.delete_node(LinkedListNode(4))
    print("after delete")
    print("first.... %s" % s.get_first().get_data())
    print("last....%s " % s.get_last().get_data())
    print("size.....%d" % s.get_size())

    s.traverse()
def single_linked_list_test():
    s = SingleLinkedList()
    s.add_node_at_first(LinkedListNode(4))
    s.add_node_at_first(LinkedListNode(5))
    s.add_node_at_first(LinkedListNode(7))

    s.add_node_at_last(LinkedListNode(6))
    s.add_node_at_last(LinkedListNode(9))
    print("before delete")
    s.traverse()
    s.delete_node(LinkedListNode(4))
    print("after delete")
    print("first.... %s" % s.get_first().get_data())
    print("last....%s " % s.get_last().get_data())
    print("size.....%d" % s.get_size())

    s.traverse()