まず、解決策ではなく説明が必要です。コードからわかるように、MovieNode を MovieList に挿入しようとしています。メソッドは MovieList クラスにあります。「リスト」は、MovieNode を保持する場所です。
public void insert(Movie movie, int index)
{
MovieNode node = new MovieNode(movie);
MovieNode element;
MovieNode current = list;
while(current.previous != null)
current = current.previous;
element = current; // first node in the list
for(int n = 1; n < index; n++)
element = element.next; // determines where to put new node
node.next = element;
element.previous.next = node;
}
上記の方法は機能しているようです。ただし、この行を変更すると
element.previous.next = node;
これで。
element = node;
挿入後、リンクリストに変更はありません。要素をノードに置き換えると、リスト内の要素の前にあるノードの後継者も変更されるため、 element.previous.next は要素自体とまったく同じように思えます。そして、その後継者をノードである新しい要素に向けます。私は主題に慣れていないので、私が犯したかもしれない間違いをお詫びします。