| @@ 92-108 (lines=17) @@ | ||
| 89 | x = x.next_node |
|
| 90 | return None |
|
| 91 | ||
| 92 | def delete(self, key): |
|
| 93 | i = self.hash(key) |
|
| 94 | x = self.id[i] |
|
| 95 | prev_node = None |
|
| 96 | while x is not None: |
|
| 97 | if util.cmp(x.key, key) == 0: |
|
| 98 | value = x.value |
|
| 99 | next_node = x.next_node |
|
| 100 | self.N -= 1 |
|
| 101 | if prev_node is not None: |
|
| 102 | prev_node.next_node = next_node |
|
| 103 | if self.id[i] == x: |
|
| 104 | self.id[i] = None |
|
| 105 | return value |
|
| 106 | prev_node = x |
|
| 107 | x = x.next_node |
|
| 108 | return None |
|
| 109 | ||
| 110 | def put(self, key, value): |
|
| 111 | if key is None: |
|
| @@ 84-99 (lines=16) @@ | ||
| 81 | x = x.next_node |
|
| 82 | return False |
|
| 83 | ||
| 84 | def delete(self, key): |
|
| 85 | i = self.hash(key) |
|
| 86 | x = self.id[i] |
|
| 87 | prev_node = None |
|
| 88 | while x is not None: |
|
| 89 | if util.cmp(x.key, key) == 0: |
|
| 90 | next_node = x.next_node |
|
| 91 | self.N -= 1 |
|
| 92 | if prev_node is not None: |
|
| 93 | prev_node.next_node = next_node |
|
| 94 | if self.id[i] == x: |
|
| 95 | self.id[i] = None |
|
| 96 | return True |
|
| 97 | prev_node = x |
|
| 98 | x = x.next_node |
|
| 99 | return False |
|
| 100 | ||
| 101 | def add(self, key): |
|
| 102 | if key is None: |
|