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