在python中使用字符串的哈希表

时间:2015-12-27 12:14:56

标签: python string hashtable

这是一个工作哈希表的代码,但是这个哈希表不能用于字符串,我想要做的是一个联系人列表,在这个哈希表我可以搜索,插入,删除和列出按(姓名,号码,电子邮件)组织的联系人。 我缺少的是:

  • 删除功能
  • 使用字符串的表
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)

0 个答案:

没有答案