From 776ce4eec6eb899f7cc0b6b02d934abbfd842bea Mon Sep 17 00:00:00 2001 From: mddcorporation Date: Sat, 28 Feb 2026 19:01:53 +0300 Subject: [PATCH] finished functions, making tests --- VaravinVV/task1_1.py | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/VaravinVV/task1_1.py b/VaravinVV/task1_1.py index df259ec..8a5f41d 100644 --- a/VaravinVV/task1_1.py +++ b/VaravinVV/task1_1.py @@ -1,15 +1,15 @@ -import random +import random, time N = [] -for n in range(10000): +for n in range(10000): # вот сначала просят сгенерировать а потом 100 гарантированных имён ну ёмаё💀💀💀 i = random.randint(1,99999) p = random.randint(10000000, 99999999) - N.append((f"User_{i:05d}", str(p))) + N.append((f"User_{i:05d}", str(p))) # как в примере кортежики брбрбр def ll_insert(head, name, phone): data = {'name' : name, 'phone' : phone, "next" : None} - if head is None: + if head is None: # я люблю делать бесполезные проверки return data current = head @@ -19,7 +19,7 @@ def ll_insert(head, name, phone): return head if current['next'] == None: last = current - current = current['next'] + current = current['next'] # везде где такое это изменение текущей строки на следующую через ссылку в нексте last['next'] = data return head @@ -48,14 +48,23 @@ def ll_delete(head, name): return head def ll_list_all(head): - return None + data_list = [] -test_data = None + current = head + while current: + data_list.append({'name' : current['name'], 'phone' : current['phone']}) + current = current['next'] + + data_list.sort(key=lambda x: x['name']) # честно украдено со стака оверфлоу и не понял что такое лямбда я устал читать + return data_list + +#1 - вставка списка +start_time = time.perf_counter() +data_unsorted = None for name, phone in N: - test_data = ll_insert(test_data, name, phone) + data_unsorted = ll_insert(data_unsorted, name, phone) +end_time = time.perf_counter() +elapsed_time = end_time - start_time + +data_sorted = ll_list_all(data_unsorted) -test_data = ll_insert(test_data, 'User_02000', '99999999') -test_data = ll_insert(test_data, 'User_01000', '99999998') -print(ll_find(test_data, 'User_02000')) -ll_delete(test_data, 'User_02000') -print(ll_find(test_data, 'User_02000')) \ No newline at end of file