from codes.LL import ll_insert, ll_find, ll_delete def ht_insert(buckets, name, phone): index = hash(name) % len(buckets) current_head = buckets[index] new_head = ll_insert(current_head, name, phone) buckets[index] = new_head # print("-"*100) # print(buskets) def ht_find(buckets, name): index = hash(name)%len(buckets) slot_head = buckets[index] res_ph = ll_find(slot_head, name) return res_ph def ht_delete(buskets, name): index = hash(name)%len(buskets) buskets[index] = ll_delete(buskets[index], name) def ht_list_all(buckets): all_rec = [] for head in buckets: current = head while current is not None: all_rec.append((current['name'], current['phone'])) current = current['next'] all_rec.sort() return all_rec