Я вижу, что люди обычно используют временный узел для управления связанным списком. Например, создайте новый узел, указатель которого хранится в temp, укажите предыдущий блок на temp, а затем используйте temp для следующего узла.
Почему бы не сохранить назначенное имя для каждого узла (сохранить переменную, в которой хранится его адрес), чтобы мы могли получить доступ к этому узлу, просто разыменовав его имя. Таким образом, мы все еще можем вставить новый узел, указав на него предыдущий узел и указав его на следующий узел.
Я знаю, что есть причина, по которой связанный список не сделан таким образом, я просто не могу понять, почему.
Тип данных связанного списка просто не предназначен для того, чтобы иметь имя для каждого элемента. Во многих случаях вам просто просто не нужно называть все. Если вам нужно такое поведение, вы можете расширить тип для своих нужд.
Все сводится к следующему: Используйте структуру данных, которая соответствует вашему реальному варианту использования.
Например, в Java есть предопределенный тип, который делает именно то, что вы описали:
LinkedHashMap<K, V>