申し訳ありませんが、この質問のタイトルは完全にはっきりしない場合があります。LinkedListsのノードがJavaで直接変更されることなく、なぜ/どのように変更されるのか説明できますか?
次のノードは、次の文字のリストを指しています。 head - > [a] - > [b] - > [c] - > [ D]リストのノードは以下のクラスのインスタンスを次のコードを実行した後に印刷されますどのような
public class Node {
public char value;
public Node next;
}
ある
?
Node ptr1, ptr2, p;
ptr1 = head;
ptr2 = head.next;
ptr1.next = ptr2.next.next;
ptr2.next.next = ptr1;
p = head;
head = head.next;
while(p!=null){
System.out.print(p.value + " ");
p=p.next;
}
どうやら答えはDです。誰かが私にこれを説明することはできますか?
これらの問題を解決に向けて、私の手順だった:
ptr1 = head; //ptr1 -> [a]->[b]->[c]->[d]
ptr2 = head.next; //ptr2 -> [b]->[c]->[d]
prt1.next = ptr2.next.next; //prt1 -> [a]->[d]
prt2.next.next=prt1; //prt2 -> [b]->[c]->[a]->[d]
p=head; //p-> [a]->[b]->[c]->[d]
head=head.next; // head-> [b]->[c]->[d]
だから私は答えはちょうど明らかではないオリジナルのノード(A、B、C、D)、を反復していることを考えていました私はちょうど "頭"が元の状態よりも何になったのか分かりません。ノード変数は元のノードを何とか変更しますか?これはこれまで私がJavaについて知っていたすべてから私には意味をなさない。申し訳ありませんが、これは愚かな質問である場合、私は理解していないだけで、私はこれに関してオンラインで何かを見つけることができませんでした。ありがとう。
うわー、ありがとうあなたはこのビジュアルのためにそんなにあなた。本当に物事をクリアしました。ありがとう:) – digiHarmonious