Question: use python: 1. Re-implement the remove method so that it works correctly in the case where the item is not in the list 2. Modify
use python:
1. Re-implement the remove method so that it works correctly in the case where the item is not in the list
2. Modify the list class to allow duplicates. Modify all the functions that will be impacted by allowing duplicates
The search() function should return the number of occurrences of the item in the list
The remove() function should remove all the nodes that contain the duplicate item
code you may need
class Node: def __init__(self,initdata): self.data = initdata self.next = None
def getData(self): return self.data
def getNext(self): return self.next
def setData(self,newdata): self.data = newdata
def setNext(self,newnext): self.next = newnext
class UnorderedList:
def __init__(self): self.head = None
def isEmpty(self): return self.head == None
def add(self,item): temp = Node(item) temp.setNext(self.head) self.head = temp
def size(self): current = self.head count = 0 while current != None: count = count + 1 current = current.getNext()
return count
def search(self,item): current = self.head found = False while current != None and not found: if current.getData() == item: found = True else: current = current.getNext()
return found
def remove(self,item): current = self.head previous = None found = False while not found: if current.getData() == item: found = True else: previous = current current = current.getNext()
if previous == None: self.head = current.getNext() else: previous.setNext(current.getNext())
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
