def __add__(self, other): """Returns a new bag containing the contents of self and other.""" result = ArrayBag(self) for item in other: result.add(item) return result
def add(self, item): if self.isEmpty() or self._items[len(self) - 1] < item: ArrayBag.add(item) else: targetIndex = 0 while item > self._items[targetIndex]: targetIndex += 1 for i in range(len(self), targetIndex, -1): self._items[i] = self._items[i - 1] self._items[targetIndex] = item self._size += 1
def add(self, item): """Adds item to self.""" # Empty or last item, call ArrayBag.add if self.isEmpty() or item >= self._items[len(self) - 1]: ArrayBag.add(self, item) else: # Search for first item >= new item targetIndex = 0 while item > self._items[targetIndex]: targetIndex += 1 # Open a hole for new item for i in range(len(self), targetIndex, -1): self._items[i] = self._items[i - 1] # Insert item and update size self._items[targetIndex] = item self._size += 1
def distributeBag(bag): redBag = ArrayBag() blueBag = ArrayBag() # Move the balls to the appropriate bags: # <your code> for item in bag: if (item.getColor() == 'red'): redBag.add(item) elif (item.getColor() == 'blue'): blueBag.add(item) bag.clear() # Return the 2 bags: return (redBag, blueBag)
def add(self, item): """Adds item to self.""" # Check array memory here and increase it if necessary if len(self) == len(self._items): temp = Array(2 * len(self)) for i in range(len(self)): temp[i] = self[i] self._items = temp # Empty or last item, call ArrayBag.add if self.isEmpty() or item >= self._items[len(self) - 1]: ArrayBag.add(self, item) else: # Search for first item >= new item targetIndex = 0 while item > self._items[targetIndex]: targetIndex += 1 # Open a hole for new item for i in range(len(self), targetIndex, -1): self._items[i] = self._items[i - 1] # Insert item and update size self._items[targetIndex] = item self._size += 1
def add(self, item): """Adds item to self.""" # Check array memory here and increase it if necessary if len(self._items) == len(self): new_bag = Array(ArraySortedBag.DEFAULT_CAPACITY * 2) for index in range(len(self)): new_bag[index] = self._items[index] self._items = new_bag # Empty or last item, call ArrayBag.add if self.isEmpty() or item >= self._items[len(self) - 1]: ArrayBag.add(self, item) else: # Search for first item >= new item targetIndex = 0 while item > self._items[targetIndex]: targetIndex += 1 # Open a hole for new item for i in range(len(self), targetIndex, -1): self._items[i] = self._items[i - 1] # Insert item and update size self._items[targetIndex] = item self._size += 1
def add(self, item): # 判断是否需要扩容 if len(self) == len(self._items): temp = Array(2 * len(self)) for i in range(len(self)): temp[i] = self._items[i] self._items = temp if self.isEmpty() or item > self._items[len(self) - 1]: ArrayBag.add(self, item) else: left = 0 right = len(self) - 1 # 找到第一个大于等于item的项 while left < right: mid = left + (right - left) // 2 if self._items[mid] < item: left = mid + 1 else: right = mid # left是第一个大于item的index for i in range(len(self), left, -1): self._items[i] = self._items[i - 1] self._items[left] = item self._size += 1
def add(self, item): """Adds item to self.""" if not item in self: ArrayBag.add(self, item)
def add(self, item): """Adds item to self if not already in bag.""" if not item in self: ArrayBag.add(self, item)
b1.add(25) b1.remove(25) print("b1.add(25), b1.remove(25): Expect // {} //", b1) b1 = bagType(lyst) b2 = bagType(b1) print("b1=bagType(lyst), b2=bagType(b1), b1==b2: Expect // True //", b1 == b2) print("b1 is b2: Expect // False //", b1 is b2) for item in lyst: b1.remove(item) print("b1.remove the items in lyst: Expect // {} //", b1) print("b2.remove(99): Expect crash with KeyError:") b2.remove(99) if None: print("yeah") b3 = ArrayBag() b3.add(3) b3.add(5) b3Iter = iter(b3) print(b3Iter) b3b = next(b3Iter) b3b = next(b3Iter) print(b3Iter) print(b3b) #test(LinkBag) test(ArrayBag) #test(ArraySortedBag)
def add(self, item): """Adds item to self.""" if item not in self: ArrayBag.add(self, item)
def add(self, item): """Adds item to the set if it is not in the set.""" if not item in self: ArrayBag.add(self, item)