def deleteInRangeMenu(linked_list: Linked_list): beforeList = copy.deepcopy(linked_list) print(f"From 0 to {len(linked_list) - 1}") l, r = v.int_validate_range() linked_list.remove_in_range(l, r) Event.do_some('deleteInRange', [beforeList, [l, r], linked_list]) return linked_list
def deleteAtMenu(linked_list: Linked_list, lname: str, position: int): print('Thread {} : starting 🍺'.format(lname[1])) beforeList = copy.deepcopy(linked_list) linked_list.remove_at(position) Event.do_some('delete', [beforeList, position, linked_list, lname]) print('Thread {} : finishing 🍻'.format(lname[1])) return linked_list
def deleteInRangeMenu(linked_list: Linked_list, lname: str, pos): print('Thread {} : starting 🍺'.format(lname[1])) beforeList = copy.deepcopy(linked_list) linked_list.remove_in_range(pos[0], pos[1]) Event.do_some('deleteInRange', [beforeList, [pos[0], pos[1]], linked_list, lname]) print('Thread {} : finishing 🍻'.format(lname[1])) return linked_list
def do_algorithm(self, l: Linked_list, position: int): newList = copy.deepcopy(l) j = 0 n = v.enterInteger("Enter n: ") itSm = iter(Smith()) for i in range(n): data = next(itSm) l.insert(position + j, data) j += 1 Event.do_some('add', [newList, position, l]) return l
def do_algorithm(self, l: Linked_list, position: int, lname: str): file_name = self.__enter_file_name() temp, j = self.__readFile(file_name), 0 newList = copy.deepcopy(l) if len(l) == 0: l = temp else: for i in temp: l.insert(position + j, i) j += 1 Event.do_some('add', [newList, position, l, lname]) return l
def listMethodMenu(linked_list: Linked_list): beforeList = copy.deepcopy(linked_list) l, r = linked_list.min_max(linked_list) j = 1 if r < l: temp = l l = r r = temp print(f'left index - {l}, \nright index - {r}') for i in range((r - l) // 2): temp = linked_list.get_at(l + j) linked_list.set_at(l + j, linked_list.get_at(r - j)) linked_list.set_at(r - j, temp) j += 1 Event.do_some('taskMethod', [beforeList, [l, r], linked_list]) return linked_list
def listMethodMenu(linked_list: Linked_list, lname: str, position=0): print('Thread {} : starting 🍺'.format(lname[1])) beforeList = copy.deepcopy(linked_list) l, r = linked_list.min_max(linked_list) j = 1 if r < l: temp = l l = r r = temp for i in range((r - l) // 2): temp = linked_list.get_at(l + j) linked_list.set_at(l + j, linked_list.get_at(r - j)) linked_list.set_at(r - j, temp) j += 1 Event.do_some('taskMethod', [beforeList, [l, r], linked_list, lname]) print('Thread {} : finishing 🍻'.format(lname[1])) return linked_list
def deleteAtMenu(linked_list: Linked_list): beforeList = copy.deepcopy(linked_list) position = v.intValidateInRange('Enter position', 0, len(linked_list) - 1) linked_list.remove_at(position) Event.do_some('delete', [beforeList, position, linked_list]) return linked_list