JavaでAaron WilliamのMultiset Permutation反復アルゴリズムを実装したいと考えています。 Algorithm Whitepaper。重要なのは、アルゴリズムがマルチリストを表すためにリンクリストを使用し、さまざまなリンクされたリストノードへのいくつかのポインタを保持し、ヘッドノードを追跡し、ポインタから次のノードを取得することです。Java LinkedListノードの操作
私は、組み込みのLinkedList実装ではこれらの機能を提供していないことを理解しています。私はまた、自分自身のリンクリストの実装をロールバックすることは、この作業では些細なことだと認識しています。しかし、Listインターフェースを尊重するためのすべての定型コードを書くのは簡単ではありません - 私はLists.Sortで自分のリストをソートしたいと言っています!また、別のリスト実装を格納するコレクションの入力から何らかのレベルのストレージ重複が発生することも私にはわかります。
私の質問:があります別のこれらの機能を提供するネイティブJavaデータ構造ですか?確かに私の目標は、独自のリンクリストの実装を必要とするのには程遠いです。
私はそこにあるとは思いません並べ替えアルゴリズムを実装するにしても、自分のリンクされたリストを実装する方が良いです。希望通りにノードを操作できるからです。 Javaのリンクリストは必要なものではありません。 – Alan
Javaの 'LinkedList'についてのことは**リンクされたリストではありません** ** List'インターフェース**のもう一つの実装**です。リンクされたリストのデータ構造**を使用しているため、実際に 'Node'の**にアクセスすることができないので、' LinkedList'という名前になっています。 – Onur
私が学んだことは、車輪を改革するのではなく、元のソースコードの著者に電子メールで連絡することです。そうすれば、自分自身を作成することを避けることができ、作成者の仕事にも関心を示して、ネットワークを成長させることができます。 –