import time import random import csv import os import sys def ll_insert(head, name, phone): curr = head while curr is not None: if curr['name'] == name: curr['phone'] = phone return head curr = curr['next'] # Вставка в начало (проще и быстрее) new_node = {'name': name, 'phone': phone, 'next': head} return new_node def ll_find(head, name): curr = head while curr is not None: if curr['name'] == name: return curr['phone'] curr = curr['next'] return None def ll_delete(head, name): if head is None: return None if head['name'] == name: return head['next'] prev = head curr = head['next'] while curr is not None: if curr['name'] == name: prev['next'] = curr['next'] return head prev = curr curr = curr['next'] return head def ll_list_all(head): entries = [] curr = head while curr is not None: entries.append((curr['name'], curr['phone'])) curr = curr['next'] entries.sort(key=lambda x: x[0]) return entries