Нашли ошибку?

Заказ в очередь по времени

СредняяРеализацияГлава 2

#связанные списки#вставкаid: ga-insert-sorted

Заказы кафе хранятся в односвязном списке, отсортированном по времени поступления (в минутах). Напишите insert_sorted(head, time): функция вставляет новый заказ так, чтобы порядок сохранился, и возвращает голову списка — она могла измениться. Заказ с таким же временем, как у уже существующих, встаёт после них.

Пример

head = Node(5, Node(12, Node(30)))
head = insert_sorted(head, 20)   # 5 → 12 → 20 → 30
head = insert_sorted(head, 1)    # 1 → 5 → 12 → 20 → 30
insert_sorted(None, 7)           # 7

Ограничения

Решение

class Node:
    """Узел односвязного списка."""

    def __init__(self, value: int, next: "Node | None" = None) -> None:
        self.value = value
        self.next = next


def insert_sorted(head: Node | None, time: int) -> Node:
    """Вставляет time в отсортированный список и возвращает голову."""
    # ваш код
    raise NotImplementedError

Можно решать и в своём редакторе: «Скопировать с тестами» и запустите python3 insert_sorted.py — тесты те же, результат покажет ✓ / ✗ и итог.