Question: I need help with the insert logic under the class SortedArrayNoDups. The insertions are not returning sorted. from gettext import find class BufferArray: def __init__(self):

I need help with the insert logic under the class SortedArrayNoDups. The insertions are not returning sorted.

from gettext import find class BufferArray: def __init__(self): self._numberofelements = 0 self._buffer_size = 20 # None is used to define a null data type or no value at all. self._intArray = [None] * self._buffer_size def insert(self, value): if self._numberofelements == self._buffer_size - 1: return False self._intArray[self._numberofelements] = value self._numberofelements += 1 return True # def display(self): print(",".join(map(str, self._intArray[:self._numberofelements]))) # def locationOf(self, value): if value in self._intArray: print(self._intArray.index(value)) else: print(-1) # def find(self, value): if value in self._intArray: return True else: print(False) # def fastRemove(self, value): if value in self._intArray: index = self._intArray.index(value) self._intArray[index], self._intArray[self._numberofelements - 1] = self._intArray[ self._numberofelements - 1], \ self._intArray[index] self._numberofelements -= 1 return True else: return False # def stableRemove(self, value): if value in self._intArray: index = self._intArray.index(value) self._intArray = self._intArray[:index] + self._intArray[index + 1:] self._numberofelements -= 1 return True else: return False # children classes class ArrayBufferNoDups(BufferArray): def __init__(self): super().__init__() self.value = None self._numberofelements = 0 self._buffer_size = 20 # None is used to define a null data type or no value at all. self._intArray = [None] * self._buffer_size def insert(self, value): if self._numberofelements == self._buffer_size - 1: return False elif find(self.value): return False else: self._intArray[self._numberofelements] = value self._numberofelements += 1 return True class ArrayBufferWithDups(BufferArray): def __init__(self): super().__init__() self._numberofelements = 0 self._buffer_size = 20 # None is used to define a null data type or no value at all. self._intArray = [None] * self._buffer_size def findAll(self, value): if value in self._intArray: return self._intArray.count(value) else: return -1 # remove all elements of same value def fastRemoveAll(self, value): value_amount = self.findAll(value) if value_amount != -1: for val in range(value_amount): self.fastRemove(value) else: return False # remove all elements of same value def stableRemoveAll(self, value): value_amount = self.findAll(value) if value_amount != -1: for val in range(value_amount): self.stableRemove(value) else: return False class SortedArrayNoDups(ArrayBufferNoDups): def __init__(self): super().__init__() self._numberofelements = 0 self._buffer_size = 20 # None is used to define a null data type or no value at all. self._intArray = [None] * self._buffer_size def insert(self, value): # sorted_arraynodups = sorted(self._intArray) if self._numberofelements == self._buffer_size - 1: return False elif find(self.value): return False else: def sort(va): global min for i in range(self._buffer_size): min = i for j in range(i, self._buffer_size): if va[j] < va[min]: min = j temp = va[i] va[i] = va[min] va[min] = temp self._intArray[self._numberofelements] = value self._numberofelements += 1 return sort(value)

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!