問題タブ [doubly-linked-list]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
898 参照

c++ - 二重リンクリストにノードを追加する際の問題

こんにちは私は二重リンクリストを作成して、個々の番号を二重リンクリストのノードとして保存し、それらを一緒に追加して、宿題のために印刷しようとしています。これを機能させるのに多くの問題があり、ポインタを正しく更新しないため、ノードの追加関数に問題を追跡しました。たとえば、AddToFront()関数では、prevポインターを機能させ、その背後にあるノードを指す方法を理解できません。

私はSTLを使用できず、誰かが疑問に思っている場合に備えて、自分でLLを実装する必要があります。ありがとう!

編集:AddToFront()とAddToRear()にそれぞれ1行追加しました。これは正しい方向に進んでいますか?

0 投票する
2 に答える
1914 参照

java - compareTo を使用した while ループでの NullPointerException

宿題として、Chairオブジェクトを取り込み、作成した に追加する必要がありDoublyLinkedListます。アルファベット順にソートする必要があります。スタイルがアルファベット順に同じ場合は、色でソートします

ループを通過しようとすると、NullPointerException.

これは、情報を DoublyLinkedList に入れるコードです

これは私が作成した DoublyLinkedList クラスです。

}

椅子クラス:

このエラーが発生し続ける理由を誰かに説明してもらえますか? ありがとうございました!

編集:

EDIT2:解決しました!

while ループを次のように変更しました。

エラーが発生した理由は、nullすべての反復をチェックしていなかったためです。

0 投票する
3 に答える
8755 参照

haskell - 双方向リンク リストの実装方法

Haskell で二重にリンクされたリストを持つことは可能ですか?それらを実装するための理想的なソリューションは何ですか? 私は、すべてのウィジェットに子だけでなく親もあるシーン グラフを実装しています。グラフを上下に調べると便利です。

0 投票する
1 に答える
238 参照

c - 二重にリンクされたリストはすべて正しく印刷されますが、印刷機能の最後にセグメンテーション違反を受け取ります

さて、最終プロジェクトのこのプログラムはほぼ完成しましたが、セグメンテーション違反が発生しています...プログラムはすべてを正しく実行し、すべてを画面に出力しますが、機能からは抜けませんprintWordLength()。最後にセグメンテーション違反が表示されます。これは簡単な修正であると確信していますが、現時点では私の脳はクラッシュしています。(犯人の印刷機能については、一番下までスクロールします。

私のコードを使いたいだけなら、お気軽に。

目的:このプログラムは、コマンド ライン引数として入力されたファイルを読み取り、ファイルから各行を読み取り、行から各単語をトークン化し、各単語について、その長さに応じて Word Length 構造体に配置する双方向リンク リストを保持します。次に、単語の文字列に依存する word_count 構造体に配置し、ファイル内の各単語の出現をカウントします。

while ループ for を追加するまで、セグメンテーション違反は発生しませんでしたtempWORD。しかし、私が持っている脳のおならの瞬間は、私が問題を知らないということです. たぶんポインタの問題?

0 投票する
1 に答える
3223 参照

c - C 構造を持つ二重連結リスト

私は二重にリンクされたリストをやっています。私の知る限り、それは機能していますが、正しい方法で行っているかどうかを確認するためにここに来ました。

反対に、これを作成したとき、二重リンクリストに関連するのではなく、構造と C ファイル間の「可視性」に関連する他の質問に出くわしました。この他の 2 つの疑問に対して別の質問を作成する必要があることを理解したら、教えてください。それ以外の場合は、お気軽に教えてください。

私のfile1.cにはこれがあります:

コード

そして、私のfile2.cにはこれがあります

コード

だからここに私のツリーの質問があります:

Q1 - これは、先頭と末尾がそれぞれリストの先頭と末尾を指す双方向リンク リストを実装する正しい方法ですか?

Q2struct team - ファイルの両方でとを宣言するのはなぜstruct nodeTeamですか? それらはすべて同じプロジェクトにあるため、宣言はプロジェクトのすべてのファイルに「表示」されるべきではありませんか?

Q3 -struct teamなぜchar *name代わりに宣言しなければならないのchar name[31]ですか?

0 投票する
11 に答える
131917 参照

java - ArrayListとLinkedListのパフォーマンスの違い

はい、これは古いトピックですが、まだ混乱があります。

ジャワでは、人々はこう言います:

  1. ArrayListは、その要素にランダムにアクセスする場合、LinkedListよりも高速です。ランダムアクセスとは「n番目の要素を教えて」という意味だと思います。ArrayListの方が速いのはなぜですか?

  2. LinkedListは、削除に関してArrayListよりも高速です。私はこれを理解しています。内部バックアップ配列を再割り当てする必要があるため、ArrayListの速度は遅くなります。コードの説明:

    /li>
  3. LinkedListは、挿入に関してArrayListよりも高速です。ここで挿入とはどういう意味ですか?一部の要素を元に戻してから要素を中央の空の場所に配置することを意味する場合、ArrayListはLinkedListよりも低速である必要があります。挿入がadd(Object)操作のみを意味する場合、これはどのように遅くなる可能性がありますか?

0 投票する
1 に答える
177 参照

c - C二重リンクリスト変数が適切に更新されていない

二重リンクリストに問題があるので、2つの質問があります。

まず、説明。

私はstructこの方法で1つ作成しました:

そして、この方法で私のリストを作成しました:

したがって、私のリストにはとが含まれheadますtailTeamリストにいくつか追加すると、リストhead int numberOfTeams;のチーム数が表示されます。tailリストの最後の要素が含まれ、int numberOfTeams;その後にIDheadが含まれます。Team

私のリストは次のように作成されます。

これは、リストを作成するためのコードです。

Team私のリストに(チーム名でソートされた)aを追加するためのコードは次のとおりです。

私の.txtファイルには、次のデータがあります。

そしてこれが出力です。

この出力を使用すると、チームが名前でソートされてリストに追加されていることがわかります。私がメモリアドレスを出力するために作成したデバグは、すべてが正常であることを示しています。問題はチームIDにあります。これはint numberOfTeams;

それで、最後にこのテキストのすべての後、これらは私の質問です:

質問1チームIDを解決するにはどうすればよいですか。つまり、Teamリストに新しいIDを挿入した後、IDが正しいIDに更新されます。

質問2addNodeTeamsSortedはIDの例外に取り組んでいますが、それは「途切れ途切れ」であると信じています。いくつかの最適化をお勧めできますか?

ありがとう

0 投票する
3 に答える
1402 参照

c++ - 双方向リンクリストを実装するには?

クラスで単方向リストを実装する方法を学びました。私たちの教授は、私たちが二重連結リストをやっていると言いましたが、どうやらとても簡単なようで、その方法を詳しく説明していませんでした。私は片方向リストを扱うのがとても得意ですが、二重方向リストの作り方を誰か教えてくれませんか?

0 投票する
3 に答える
372 参照

c++ - nullオブジェクトモデルを使用したC ++二重リンクリスト

null オブジェクト モデルを使用して双方向リンク リストを作成しようとしています。ここまでで、リストの先頭にノードを追加するメソッドとノードを表示するメソッドを実装しました。私の問題は、表示機能が常に 0 を表示することです。どこが間違っていて、どのように修正すればよいか誰か指摘できますか? また、ここで null オブジェクト モデルを正しく実装するための正しい軌道に乗っていますか?

注:これは学校の課題です。説明なしで解決策を投稿しないでください。ここで何が起こっているのかを学び、理解したいと思います。

編集:表示の問題を修正した後、私は別のものを持っています:空のリストまたはノードを持つリストで getHead() または getTail() を呼び出すと、 nullNode クラス(空のリストの場合) または elementNode クラス (ノードを持つリストの場合)。これを修正する方法に行き詰まっています。

container.getNext() と container (空のリストの場合) のアドレスを出力すると、両方のアドレスが同じなので、末尾に ->self() を追加して nullNode クラスから self() メソッドを呼び出すべきではありませんか?

0 投票する
14 に答える
18158 参照

binary-search-tree - 二分探索木を二重連結リストに変換する

この質問は、最近のコーディング インタビューで尋ねられました。

Q :与えられた二分木を二重連結リストに変換するプログラムを書きなさい。双方向リンク リスト内のノードは、ジグザグ レベルの順序トラバーサルによって形成された順序で配置されます。

私のアプローチ

私はいつでもツリーのジグザグレベルの順序トラバーサルを実行し、それを配列に格納してから、二重リンクリストを作成できます。しかし、問題はインプレース ソリューションを必要とします。再帰的アプローチを使用する必要があることを説明するのに誰か助けてもらえますか?