Einfügen eines Knotens in eine verknüpfte Liste in konstanter Zeit?

Ich arbeite an einer Aufgabe, bei der ich davon ausgehen soll, dass ich eine einfach verknüpfte Liste mit einem Header- und einem Tail-Knoten habe. Ich soll ein Element y vor Position p einfügen. Kann jemand bitte meinen Code durchsehen und mir sagen, ob ich auf dem richtigen Weg bin? Wenn nicht, können Sie mir Tipps oder Hinweise geben (kein Wortspiel beabsichtigt)?

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

Ich glaube, ich liege möglicherweise falsch, weil ich die Header- und Tail-Knoten überhaupt nicht verwende, obwohl sie in der Beschreibung des Problems ausdrücklich erwähnt werden. Ich überlegte, eine while-Schleife zu schreiben, um die Liste zu durchlaufen, bis p gefunden wurde, und das Problem auf diese Weise anzugehen, aber das wäre doch keine konstante Zeit, oder?

Antworten auf die Frage(14)

Ihre Antwort auf die Frage