From 6dba583f2c70d04eb0bcbba753185ad04f58f8a3 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Fri, 1 May 2026 13:48:41 +0000 Subject: [PATCH] [5] adding ht_insert() --- lukovnikovde/docs/data/DataStructure.py | 54 ++++++++++++++++++++----- 1 file changed, 43 insertions(+), 11 deletions(-) diff --git a/lukovnikovde/docs/data/DataStructure.py b/lukovnikovde/docs/data/DataStructure.py index 6e49563..d04d2a1 100644 --- a/lukovnikovde/docs/data/DataStructure.py +++ b/lukovnikovde/docs/data/DataStructure.py @@ -64,22 +64,22 @@ def sort_list(name_list): return name_list -def main(): - head = None +########################################################################################################################### +def LinkedList(head): print('======== TESTING LL_INSERT ==========') - Name = ['Dima', 'Ivan', 'Maxim', 'Alex'] + Name = ['Dima', 'Ivan', 'Maxim', 'Alex', 'Olga', 'Lena'] for _ in range(10): - name = Name[rnd.randint(0, 3)] + name = Name[rnd.randint(0, len(Name) - 1)] phone = str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + '-' + \ str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) print(name, phone) head = ll_insert(head, name, phone) print(head) print('-----------------------------------\n') - print('======== END TESTING ================') + print('======== END TESTING ================\n\n') print('======== TESTING LL_FIND ==========') @@ -87,11 +87,11 @@ def main(): for i in range(len(Name)): name = Name[i] print(name, ":", ll_find(head, name)) - print("======== END TESTING =============") + print("======== END TESTING =============\n\n") print("============ TESTING LL_LIST_ALL AND SORT_LIST =============") print(*sort_list(ll_list_all(head))) - print("============ END TESTING ===============") + print("============ END TESTING ===============\n\n") print('========== TESTING LL_DELETE ==========') @@ -101,12 +101,44 @@ def main(): print(head) print(name, ":", ll_find(head, name)) - print("========= END TESTING ==============") - - - + print("========= END TESTING ==============\n\n") + +######################################################################################################### + +def ht_insert(head, name, phone): + + running = head + if running is None: + return {name: phone} + running[name] = phone + return head + + +#################################################################################################### + +def HashTable(head): + + print('=========== TESTING HT_INSERT =============') + Name = ['Dima', 'Alex', 'Ivan', 'Maxim', 'Olga', 'Lena'] + + for _ in range(10): + name = Name[rnd.randint(0, len(Name) - 1)] + phone = str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + '-' + \ + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + + print(name, phone) + head = ht_insert(head, name, phone) + print(head) + print('-----------------------------------------------------\n') + + print('============= END TESTING =====================\n\n') +################################################################################################# +def main(): + + LinkedList(None) + HashTable(None) if __name__ == "__main__": main()