0

ノードを削除するとき、replace メソッドはどのようになりますか?

4

1 に答える 1

1

次のロジックが機能するはずです。

if (position.c > 0) {
    position.c--; 
    if (position.c == 0) {
        // delete entire node
        if (previous == null) {
            // delete head node
            head = position.next;
        } else {
            // delete a node with a predecessor
            previous.next = position.next;
        }
    }
}

nextコードにあったものから割り当てを逆にしたことに注意してください。あなたがしたことは、position(previous.next == positionその時点から) で循環参照を使用してリストを終了することだけでした。

余談ですが、ifここでのステ​​ートメントは必要ありません。

found = true;
if(found==true){
    . . .
}

次のようになります。

found = true;
. . .
于 2013-04-19T03:44:19.223 に答える