new
This commit is contained in:
parent
19572c7785
commit
beb4e9e362
@ -68,3 +68,27 @@ class HashTable:
|
|||||||
index = self.probe(key)
|
index = self.probe(key)
|
||||||
self.slots[index] = (key, value)
|
self.slots[index] = (key, value)
|
||||||
self.size += 1
|
self.size += 1
|
||||||
|
def __getitem__(self, key):
|
||||||
|
self._check_key(key)
|
||||||
|
idx = self.probe(key)
|
||||||
|
slot = self.slots[idx]
|
||||||
|
|
||||||
|
if slot is not self.empty and slot is not self.deleted and slot[0] == key:
|
||||||
|
return slot[1]
|
||||||
|
raise KeyError(key)
|
||||||
|
|
||||||
|
def __setitem__(self, key, value):
|
||||||
|
self._check_key(key)
|
||||||
|
idx = self.probe(key)
|
||||||
|
slot = self.slots[idx]
|
||||||
|
|
||||||
|
if slot is not self.empty and slot is not self.deleted and slot[0] == key:
|
||||||
|
self.slots[idx] = (key, value)
|
||||||
|
return
|
||||||
|
|
||||||
|
if (self._size + 1) / self.__capacity > 0.7:
|
||||||
|
self._resize()
|
||||||
|
idx = self.probe(key)
|
||||||
|
|
||||||
|
self.slots[idx] = (key, value)
|
||||||
|
self._size += 1
|
||||||
Loading…
Reference in New Issue
Block a user