# SY 301 Fall 2016
# Lab 4: Linked Lists with Recursion
# YOUR NAME HERE

class Node:
    def __init__(self, data):
        self.data = data
        self.nextNode = None

class LinkedList:
    def __init__(self):
        """Creates a new LinkedList with nothing in it."""
        pass

    def add_front(self, item):
        """Inserts the given item at the beginning of the list."""
        pass

    def print_forward(self):
        """Prints the list items, one per line, in order."""
        pass

    def print_reverse(self):
        """Prints out the list items, one per line, in reverse order."""
        pass

    def contains(self, needle):
        """Returns True/False depending on whether the given
        needle is equal to any of the data items in the list."""
        pass
    
    def get(self, index):
        """Returns the data at the given index in the list."""
        pass

    def insert(self, index, item):
        """Inserts the given item before the one at the given index.
        For example, calling L.insert(2,4) on list [1,3,5] would
        result in the list changing to [1,3,4,5]."""
        pass

    def add_ordered(self, item):
        """Inserts the given item into the list so that the list
        stays in sorted order. Assume the list is already sorted
        to begin with."""
        pass

    def remove(self, index):
        """Removes (but does NOT return) the item at the given index."""
        pass

    def size(self):
        """Returns the number of items in the list."""
        pass
