From c61dbc01a3d0089bf6d232e263b5e03f49824959 Mon Sep 17 00:00:00 2001 From: mddcorporation Date: Sat, 28 Feb 2026 18:13:05 +0300 Subject: [PATCH] almost finished ll sequence, only sort is left --- VaravinVV/task1_1.py | 63 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 61 insertions(+), 2 deletions(-) diff --git a/VaravinVV/task1_1.py b/VaravinVV/task1_1.py index 397b757..df259ec 100644 --- a/VaravinVV/task1_1.py +++ b/VaravinVV/task1_1.py @@ -1,2 +1,61 @@ -def ll_insert(name, phone, head): - data = {'name' : name, 'phone' : phone, "next" : head} \ No newline at end of file +import random +N = [] + +for n in range(10000): + i = random.randint(1,99999) + p = random.randint(10000000, 99999999) + 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: + return data + + current = head + while current: + if current['name'] == name: + current['phone'] = phone + return head + if current['next'] == None: + last = current + current = current['next'] + + last['next'] = data + return head + + +def ll_find(head, name): + current = head + while current: + if current['name'] == name: + return current['phone'] + current = current['next'] + return None + +def ll_delete(head, name): + if head is None: + return None + + prev = head + current = head['next'] + while current: + if current['name'] == name: + prev['next'] = current['next'] + return head + prev = current + current = current['next'] + return head + +def ll_list_all(head): + return None + +test_data = None +for name, phone in N: + test_data = ll_insert(test_data, name, phone) + +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