Question: Using python and the code below implement the following functions as part of the class: The code is below the instructions index(item) returns the position
Using python and the code below implement the following functions as part of the class: The code is below the instructions
index(item) returns the position of item in the list. It needs the item and returns the index. Assume the item is in the list.
pop() removes and returns the last item in the list. It needs nothing and returns an item. Assume the list has at least one item.
pop(pos) removes and returns the item at position pos. It needs the position and returns the item. Assume the item is in the list.
a function that counts the number of times an item occurs in the linked list
a function that would delete the replicate items in the linked list (i.e. leave one occurrence only of each item in the linked list)
Your main function should do the following:
Generate 15 random integer numbers in the range from 1 to 5.
Insert each number (Item in a node) in the appropriate position in a linked list, so you will have a sorted linked list in ascending order.
Display the generated linked list items.
Call the index(item), pop() and pop(pos) functions to test them.
Display the linked list items
Display the number of occurrences of each item.
Delete the replicate items in the linked list (i.e. leave one occurrence only of each item in the linked list)
Display the final linked list items that should be unique and sorted.
Make sure your code is readable and well-documented. It must begin with a title block includes problem definition. Each function must also begin with a title block that describes the task of the function, input parameters and return value.
from Node import Node class UnorderedList: def __init__(self): self.head = None def is_empty(self): return self.head == None def add(self, item): temp = Node(item) temp.set_next(self.head) self.head = temp def size(self): current = self.head count = 0 while current != None: count = count + 1 current = current.get_next() return count def search(self,item): current = self.head found = False while current != None and not found: if current.get_data() == item: found = True else: current = current.get_next() return found def remove(self, item): current = self.head previous = None found = False while current != None and not found: if current.get_data() == item: found = True else: previous = current current = current.get_next() if found: if previous == None: self.head = current.get_next() else: previous.set_next(current.get_next()) def main(): aList = UnorderedList() print("Adding 3, 5, 8, and 11 to the list.") aList.add(3) aList.add(5) aList.add(8) aList.add(11) print("List size:", aList.size()) print("Is 5 in the list? ", aList.search(5)) print("Removing 5 from the list.") aList.remove(5) print("Is 5 in the list? ", aList.search(5)) print("List size:", aList.size()) print("Removing 3 from the list.") aList.remove(3) print("List size:", aList.size()) if __name__ == "__main__": main() Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
