Replace an element in the queue with a new one.
(self, elt, new, priority=None)
| 205 | return elt |
| 206 | |
| 207 | def update(self, elt, new, priority=None): |
| 208 | """Replace an element in the queue with a new one.""" |
| 209 | if priority is not None: |
| 210 | new = _HeapElement(priority, new) |
| 211 | # Replace |
| 212 | pos = self.position[elt] |
| 213 | self.heap[pos] = new |
| 214 | del self.position[elt] |
| 215 | self.position[new] = pos |
| 216 | # Restore invariant by sifting up |
| 217 | self._siftup(pos) |
| 218 | |
| 219 | def remove(self, elt): |
| 220 | """Remove an element from the queue.""" |