Você está na página 1de 2

D:\Usurios\gcfs\Desktop\ALL DESKTOP FILES\tabelaHash_v7.

py sexta-feira, 15 de dezembro de 2017 17:15


'''
Tabela Hash em OO implementado em 17/07/17
'''
'''

insert 3 [abracadabra, 30]!!!insert 10 [pe de cabra, 100]!!!query 3

'''
class NoHash:
def __init__(self, idNoh, listaDados):
self.idNoh = idNoh
self.listaDados = listaDados

class TabelaHash:

def __init__(self, N):


self.N = N
self.tabela = [[] for _ in range(N)]

def Insere(self, idNoh, listaDados):


nHash = int(idNoh)%3
self.tabela[nHash].append(NoHash(idNoh, listaDados))

def Exlcui(self, idNoh):


nHash = int(idNoh)%3
for celula in self.tabela:
for i in range(len(celula)-1):
if celula[i].idNoh == idNoh:
del self.tabela[nHash][i]

def Atualiza(self, idNoh, listaDados):


nHash = int(idNoh)%3
for celula in self.tabela:
for i in range(len(celula)-1):
if celula[i].idNoh == idNoh:
del self.tabela[nHash][i]
self.tabela[nHash].append(NoHash(idNoh, listaDados))

def Pesquisa(self, idNoh):


'''
Metodo para busca de um determinado Noh a partir do idNoh, retornando
o valor de listaDados
'''
nHash = int(idNoh)%3
for celula in self.tabela:
for i in range(len(celula)):
if celula[i].idNoh == idNoh:
return (celula[i].listaDados)

entrada = input().split("!!!")

print(entrada)

#teste iniciais

t = TabelaHash(10)
t.Insere('9', ['teste', 15])
#print(t.tabela)
for i in range(10):
print(t.tabela[i], end=" ")
print()

t.Insere('12', ['teste', 20])


#print(t.tabela)
for i in range(10):
print(t.tabela[i], end=" ")
print()

-1-
D:\Usurios\gcfs\Desktop\ALL DESKTOP FILES\tabelaHash_v7.py sexta-feira, 15 de dezembro de 2017 17:15

t.Insere('16', ['teste', 25])


#print(t.tabela)
for i in range(10):
print(t.tabela[i], end=" ")
#print(t.tabela[1])
print()

t.Exlcui('9')
#print(t.tabela)
for i in range(10):
print(t.tabela[i], end=" ")
print()

t.Atualiza('16', ['alterado', 45])


for i in range(10):
print(t.tabela[i], end=" ")
print()

-2-

Você também pode gostar