[6] correction ht_insert()
This commit is contained in:
parent
6dba583f2c
commit
289171aac5
|
|
@ -1,6 +1,17 @@
|
||||||
import random as rnd
|
import random as rnd
|
||||||
#############################################################################################
|
#############################################################################################
|
||||||
|
|
||||||
|
def sort_list(name_list):
|
||||||
|
l = len(name_list)
|
||||||
|
for i in range(l - 1):
|
||||||
|
for j in range(l - i - 1):
|
||||||
|
if name_list[j][0] > name_list[j + 1][0]:
|
||||||
|
name_list[j][0], name_list[j + 1][0] = name_list[j + 1][0], name_list[j][0]
|
||||||
|
return name_list
|
||||||
|
|
||||||
|
|
||||||
|
###########################################################################################################################
|
||||||
|
|
||||||
def ll_insert(head, name, phone):
|
def ll_insert(head, name, phone):
|
||||||
next_node = {'name': name, 'phone': phone, 'next': None}
|
next_node = {'name': name, 'phone': phone, 'next': None}
|
||||||
if head is None: return next_node
|
if head is None: return next_node
|
||||||
|
|
@ -55,17 +66,9 @@ def ll_list_all(head):
|
||||||
running = running['next']
|
running = running['next']
|
||||||
return name_list
|
return name_list
|
||||||
|
|
||||||
def sort_list(name_list):
|
################################################################################################################################
|
||||||
l = len(name_list)
|
|
||||||
for i in range(l - 1):
|
|
||||||
for j in range(l - i - 1):
|
|
||||||
if name_list[j][0] > name_list[j + 1][0]:
|
|
||||||
name_list[j][0], name_list[j + 1][0] = name_list[j + 1][0], name_list[j][0]
|
|
||||||
return name_list
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###########################################################################################################################
|
|
||||||
def LinkedList(head):
|
def LinkedList(head):
|
||||||
|
|
||||||
print('======== TESTING LL_INSERT ==========')
|
print('======== TESTING LL_INSERT ==========')
|
||||||
|
|
@ -105,14 +108,14 @@ def LinkedList(head):
|
||||||
|
|
||||||
#########################################################################################################
|
#########################################################################################################
|
||||||
|
|
||||||
def ht_insert(head, name, phone):
|
def ht_insert(buckest, name, phone):
|
||||||
|
index = sum(ord(ch) for ch in name) % 10
|
||||||
running = head
|
for i, (Name, Phone) in enumerate(buckest[index]):
|
||||||
if running is None:
|
if Name == name:
|
||||||
return {name: phone}
|
buckest[index][i] = (name, phone)
|
||||||
running[name] = phone
|
return buckest
|
||||||
return head
|
buckest[index].append((name, phone))
|
||||||
|
return buckest
|
||||||
|
|
||||||
####################################################################################################
|
####################################################################################################
|
||||||
|
|
||||||
|
|
@ -133,12 +136,18 @@ def HashTable(head):
|
||||||
|
|
||||||
print('============= END TESTING =====================\n\n')
|
print('============= END TESTING =====================\n\n')
|
||||||
|
|
||||||
|
""" Name.append('Masha')
|
||||||
|
for i in range(len(Name)):
|
||||||
|
name = Name[i]
|
||||||
|
print(name, ":", ht_find(head, name))
|
||||||
|
print("======== END TESTING =============\n\n")
|
||||||
|
"""
|
||||||
|
|
||||||
#################################################################################################
|
#################################################################################################
|
||||||
def main():
|
def main():
|
||||||
|
|
||||||
LinkedList(None)
|
LinkedList(None)
|
||||||
HashTable(None)
|
HashTable([[] for _ in range(10)])
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user