私は他の解決策を検討しましたが、効果を視覚化するのに苦労しました。 私たちは.nextと.prevを切り替える必要があることを理解しかし、私たちは、たとえばので誰かが頭部ノードを与えられた二重リンクリストの逆転を私に説明することはできますか?
を.prevするために反復されている理由を理解していない: 考えるとヌル---> A - > < - B ---> < --- C ---> <、-D - >ヌル
ヘッドが
は、我々が設定されている場合は、変数
トラバースしばらく頭に "トラバース"! = Null ...
1)TEMP =
2)traverse.prev = traverse.next
3)traverse.next = TEMP
4)(混乱部)**トラバース= traverse.prev traverse.prev?
だから、私たちの与えられた設定では、最初の反復の後に、それは...
Bだろう - > < -A- - > NULL、C ---> < ---> D-- - > Null
これを考えると、私は2回目の反復を視覚化することはできません。また、Bが横切れば、CとAを入れ替えることになりますか?
これは今より意味があります。ポインタは「循環的に」動作しています。 – driftdrift
最初の反復後にA.prevがBでB.prevがAであることは、私にはあまり意味がありません – driftdrift
はい、これは処理中に修正されています。各反復で、1つのノードのみが処理されます –