Consider the Node class below. class Node: def _init_(self, init_data): self.datainit data self.next None def get_data(self): def get_next (self): def set_data(self, new_data): def set_next (self, new_next): def str__(self): return self.data return self.next self.data-new data self.next new next return self.data
Explanation / Answer
# Node class is too obvious. So I'm not writing comments for Node class class Node: def __init__(self, init_data): self.data = init_data self.next = None def get_data(self): return self.data def get_next(self): return self.next def set_data(self, new_data): self.data = new_data def __str__(self): return self.data class OrderedList: def __init__(self): self.head = None def add(self, data): if self.search(data) == -1: temp = self.head if self.head is None: # List is empty self.head = Node(data) else: prev = None while temp is not None and temp.data