Базовые манипуляции с односвязным списком: создание узлов и операции

Связь односвязного списка хранится в next. При вставке сначала сохраните старого преемника в новом узле, затем перенаправьте ссылку предыдущего узла.

Короткий ответ

Что ответить на собеседовании

Связь односвязного списка хранится в next. При вставке сначала сохраните старого преемника в новом узле, затем перенаправьте ссылку предыдущего узла.

Подробный разбор

Ответ с пояснениями

Условие

Создайте два элемента списка (например, $A и $B). Свяжите их, установив односвязную связь: $A->next = $B.

Реализуйте простейшие операции:

  • проверка наличия ссылки между элементами;
  • вставка нового элемента (например, $C) между $A и $B;
  • разрыв связи между элементами.

Пример кода для начального создания узлов:

$A = new Node();
$A->next = $B

Ответ

Связь односвязного списка хранится в next. При вставке сначала сохраните старого преемника в новом узле, затем перенаправьте ссылку предыдущего узла.

class Node { public ?Node $next = null; }
$A = new Node();
$B = new Node();
$A->next = $B;
$linked = $A->next === $B;
$C = new Node();
$C->next = $A->next;
$A->next = $C;
// Удаляем C из цепочки, сохраняя B:
$A->next = $C->next;
$C->next = null;
// Полностью разрываем связь A с продолжением:
$A->next = null;

Проверка использует идентичность объектов. Удаление ссылки не означает немедленное уничтожение объекта, если на него остаются другие ссылки.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее