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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!