現在、リンクされたリストを理解するのに苦労しています。ノードを使用するコードがいくつかあり、整数パラメーターで指定されたインデックス位置に、文字列パラメーターが格納された新しいノードを作成する反復アプローチを使用するように求められました。インデックス位置の古いノードは、新しく挿入されたノードの後に続く必要があります。
これらはフィールドです:
// a string that contains the full name on the filesystem of an image file.
private String imageName;
// a reference to the next ImageNode in the linked list.
private ImageNode next;
//temporary node created to start the set of nodes
private ImageNode temp = this;
そして、これは私がこれまでに書いたコードです: getNext() が次のノードを返すことに注意してください。
private void addIter(String imageFileStr, int pos) {
int count = 0;
while(temp.getNext() != null){
temp = temp.getNext();
count++;
if(count == pos){
temp.getNext() = ???
}
}
}
これは、2 つのノードを追加する正しい方法ですか? その場合、これは現在、ノードを現在のノードのセットの最後に追加する必要がある場合にのみ機能します。上記のように、セットの途中にノードを追加し、古いノードがそれに続くようにコードを変更するにはどうすればよいですか (「インデックス位置の古いノードは、新しく挿入されたノードに従う必要があります。」)?
最後に、temp.getNext() = x を設定できるように、addIter からの入力に等しい変数 (x) を作成するにはどうすればよいですか? (現在、コード内の疑問符で示されています)。