这是一个工作哈希表的代码,但是这个哈希表不能用于字符串,我想要做的是一个联系人列表,在这个哈希表我可以搜索,插入,删除和列出按(姓名,号码,电子邮件)组织的联系人。 我缺少的是:
MAX_HASH = 20
def hash(n):
return n%MAX_HASH
def clearTable(n):
table =[0 for i in range(n)]
return table
def insert(elem, table):
ii=hash(elem)
if table[ii]==0:
table[ii]=elem
else:
print("on the list")
def loadTable():
table=clearTable(MAX_HASH)
insert(245,table)
insert(342,table)
insert(194,table)
insert(923,table)
insert(556,table)
return table
def findTable(elem,table):
return table[hash(elem)]==elem
def menu():
print(" ")
print("1-search contact (name)")
print("2-Insert new contact")
print("3-List Contacts ")
print("0-Terminate ")
opcao=int(input("Option:"))
return opcao
def repetir(hash_table):
hash_table= loadTable()
hash_table=clearTable(MAX_HASH)
opcao=menu()
while opcao!=0:
if opcao==1:
p = str(input('what do you want to search?:'))
print(findTable(p,hash_table))
elif opcao==2:
n = input('Insert name:')
insert(n,hash_table)
elif opcao==3:print(hash_table)
else :print("Option invalid")
opcao=menu()
print(" program's end")
hash_table= loadTable()
repetir(hash_table)