Вставить узел в связанный список в постоянном времени?

Я работаю над заданием, которое подсказывает мне, что у меня есть односвязный список с заголовком и хвостовыми узлами. Он хочет, чтобы я вставил элемент y перед позицией p. Кто-нибудь может, пожалуйста, просмотреть мой код и сказать мне, если я на правильном пути? Если нет, можете ли вы дать мне какие-либо советы или указатели (не каламбур)?

tmp = new Node();
tmp.element = p.element;
tmp.next = p.next;
p.element = y;
p.next = tmp;

Я думаю, что могу ошибаться, потому что я вообще не использую заголовочные и хвостовые узлы, даже если они специально упомянуты в описании проблемы. Я думал о том, чтобы написать цикл while для обхода списка, пока он не найдет p и не решит проблему таким образом, но это не будет постоянным временем, не так ли?

Ответы на вопрос(0)

Ваш ответ на вопрос