MCPcopy Create free account
hub / github.com/TheAlgorithms/Python / delete

Method delete

data_structures/linked_list/skip_list.py:163–187  ·  view source on GitHub ↗

:param key: Key to remove from list. >>> skip_list = SkipList() >>> skip_list.insert(2, "Two") >>> skip_list.insert(1, "One") >>> skip_list.insert(3, "Three") >>> list(skip_list) [1, 2, 3] >>> skip_list.delete(2) >>> list(skip

(self, key: KT)

Source from the content-addressed store, hash-verified

161 return None, update_vector
162
163 def delete(self, key: KT):
164 """
165 :param key: Key to remove from list.
166
167 >>> skip_list = SkipList()
168 >>> skip_list.insert(2, "Two")
169 >>> skip_list.insert(1, "One")
170 >>> skip_list.insert(3, "Three")
171 >>> list(skip_list)
172 [1, 2, 3]
173 >>> skip_list.delete(2)
174 >>> list(skip_list)
175 [1, 3]
176 """
177
178 node, update_vector = self._locate_node(key)
179
180 if node is not None:
181 for i, update_node in enumerate(update_vector):
182 # Remove or replace all references to removed node.
183 if update_node.level > i and update_node.forward[i].key == key:
184 if node.level > i:
185 update_node.forward[i] = node.forward[i]
186 else:
187 update_node.forward = update_node.forward[:i]
188
189 def insert(self, key: KT, value: VT):
190 """

Calls 1

_locate_nodeMethod · 0.95