要素{A、B、C、D、E、F}を挿入すると、これらの操作は,(1)になります最後のLinkedListが{G、H、I、A、B、C、D、E、F}のようになるように{G、H、I}を追加します。LinkedListの中にJavaを挿入する
私はlist.add(index, content)
を使用してこれを行うことが、しかしこれは、各操作はO(N)になりますので、非常に非効率的です。後で私はテールで追加を続けたいと思います。私はこれらのすべての操作をO(1)時間で行う方法があると確信しています。自分のリンクリストを作成せずに、私はちょうどどうしたらいいか分かりません。
編集:Javaにある種のイテレータ/ポインタがあるかどうかを実際に知りたいのですが、そこから挿入できるのはどこですか?O:(1)、i = 3 {A、B、C、 H、I、D、E、F}のように見えるようにするためには、{D、E、F} list.addAll
が動作しますが、最初にリストを作成する必要があります。そのような方法が存在するならば、私はそれを知らずに続行したくない。
最後に私はこのUvaの裁判官を解決するためにこの質問をしていますproblem私はそれを解決する方法を知っていますが、他のシナリオを一般化できない場合、私は何も学んでいません。
最初に追加するのに 'list.addFirst()'を使い、末尾に追加する 'list.addLast()'と 'list.add(index、data)' –
'add(int index、 O(list.size())ではなくO(インデックス)です。 –