2016-04-26 9 views
0

基本的に私は私の頭の中で何をしようとしているのか考えています。なぜなら、通常はC++でプログラムを作成しています。 Javaのtho。O(1)のLinkedListから要素を削除する

私がしようとしているのは、LinkedList内のNodeのポインタをJavaで保持し、O(1)内のこの特定のノードを削除することです。

それがC++だった場合、私はちょうど私がJavaであることはどのように行うことができます

void RemoveNode(Node *node) { 
    node->data = node->next->data; 
    node->next = node->next->next; 
} 

(私は最後のノードを削除しようとしていないんだと仮定すると)んでしょうか?

+0

あなたのメソッドがまだコードを持っていなくても、 'Node'クラスのようにこれまでに持っていたJavaコードを投稿できますか? – ajb

+0

私はそれを簡単に行うCustomLinkedListを実装することができますが、私の質問は「Javaの組み込みリストで行うことは可能ですか? –

答えて

0

標準LinkedListからの削除(頭部/尾部からの明白な除去に加えて)は、ListIterator.remove()でのみ達成できます。これを繰り返す必要があります。

リストの内部構造にアクセスできないため、すべてのノードとそのリンクにアクセスできません。

関連する問題