Question: The syntax data.remove(value) for Python list data removes only the first occurrence of element value from the list. Give an implementation of a function, with
The syntax data.remove(value) for Python list data removes only the first occurrence of element value from the list. Give an implementation of a function, with signature remove_all(data, value), that removes all occurrences of value from the given list data, such that the worst-case running time of the function is O(n) on a list with n elements. Note that it is not efficient enough in general to rely on repeated calls to remove.
Hint: you must be very careful if modifying a list at the same time that you loop through its elements!
Note: You could work based on Code Fragment 5.5.
Code Fragment 5.5: Implementation of insert for our DynamicArray class.
def insert(self, k, value): Insert value at index k, shifting subsequent values rightward.
# (for simplicity, we assume 0 <= k <= n in this verion)
if self. n == self._capacity: # not enough room
self. resize(2* self. capacity) # so double capacity
for j in range(self. _n, k, 1): # shift rightmost first
self._A[j] = self._A[j1]
self. _A[k] + = value #store newest element
self._n += 1
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
