[6] correction ht_insert()

This commit is contained in:
lukovnikovde 2026-05-01 14:59:57 +00:00
parent 6dba583f2c
commit 289171aac5

View File

@ -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()