問題タブ [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 に答える
484 参照

c++ - 名前のリストをアルファベット順に並べる双方向リンク リストを作成していますが、int main( ) 関数に何を入れればよいかわかりません。

最終的に、プログラムは名前のリストをアルファベット順に出力し、その名前に関連付けられた追加の属性も表示します。つまり、出力画面は次のようになります。

繰り返しますが、このリストでは最初の名前はアルファベット順に並べられていますが、属性はそれらの横に印刷されています。int main( ) に関しては、これらの名前をどのように並べ替えて整理する必要があるのか​​ わかりません。ソートする必要があるソートされていないリストがあります(これらの名前を正しい順序に追加/挿入する関数を使用)。


0 投票する
8 に答える
8062 参照

algorithm - 二重リンクリストを使用したハッシュテーブルの要素の削除がO(1)であるのはなぜですか?

CLRSの教科書「アルゴリズム入門」には、そのような段落があります。258。

リストが二重にリンクされている場合、O(1)時間で要素を削除できます。(CHAINED-HASH-DELETEは、キーkではなく要素xを入力として受け取るため、最初にxを検索する必要はありません。ハッシュテーブルが削除をサポートしている場合、そのリンクリストは二重にリンクされている必要があります。アイテムをすばやく削除できます。リストが単一リンクのみの場合、要素xを削除するには、最初にリスト内でxを見つけて、xの前の属性の次の属性を更新できるようにする必要があります。単一リンクリストの場合、両方を削除します。検索の実行時間は同じです)。

私が困惑しているのは、この大きな括弧です。私はその論理を理解できませんでした。二重リンクリストの場合でも、削除するにはxを見つける必要がありますが、これは単一リンクリストとどのように異なりますか?私がそれを理解するのを手伝ってください!

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

c++ - 二重連結リストの奇妙なコピー コンストラクター

私の宿題タグに注意してください。すべての宿題と同様に、実際のコーディングに対する直接的な回答よりも有益な提案を歓迎します。ただし、私の概念的な質問には率直に答えてください。

こんにちは、

私の教授は、宿題のために二重にリンクされたリストを私たちに割り当てました。私は絶対に必要になるまで助けを求めることを避けていました。

彼は私たちにヘッダー ファイルを提供してくれます。そのためのクラスを作成する必要があり、ヘッダー ファイルに完全に従わなければなりません。彼がコピー コンストラクターを実行する方法は、コピー コンストラクターを呼び出すだけのヘルパー関数を作成させることです。

通常のケースではこれを簡単に行うことができますが、今回はヘルパー関数に対して非常に奇妙な署名を与えてくれました。

これは、Elems と呼ばれる一連の構造体をコピーするためのものです。

私は、Elem *& ビジネス全体についてほとんど混乱していると思います。

ありがとう、すべての助けは本当に感謝しています! うまくいけば、これは将来私の立場にある他の人々を助けるでしょう:)

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

c++ - 二重リンク リストで「解放されているポインタが割り当てられていません」というエラーが発生する

二重連結リスト クラスを作成し、連結リストのベクトルを作成するために、作成した Vector クラスでそれを使用しようとしていますが、プログラムの最後にエラー malloc: *** error for object 0x100100be0: pointer being freed was not allocated が発生しているようです。デストラクタを処理するために、Xcode が私を指している場所でもあります。どうすればこれを回避できますか? デストラクタは正常に動作すると思いますが、間違っていると思います。

テスト ファイル:

doubleLL.h:

エラーは doubleLL から来ているようで、Vector.h が含まれていませんでした。正しい方向に向けるために必要な場合は、お知らせください。

ありがとう!

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

c - 単一リンクリストと二重リンクリストの両方からランダムノードを削除する

二重リンクリストと単一リンクリストの両方からノードを削除するためのロジックを思い付くのに苦労しています。ヘルプからオンラインで調べましたが、簡単な例が見つかりませんでした。これが私が持っているものです:


二重にリンクされた削除。dCurrent削除するノードです。


これが私が単一リンクリストのために持っているものです。繰り返しsCurrentますが、削除するノードです。およびsPrev = sCurrent->prev


問題は、両方のリストからランダムノードのコレクションを削除した後、二重にリンクされたリストが頭から尾まで正しく表示されますが、尾から頭までは正しく表示されないことです。単一リンクリストも正しく表示されません。

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

c - 二重連結リストの C 実装が重複する値を作成するのはなぜですか?

C で二重にリンクされたリストの実装をコーディングしました。その中で、値を挿入した後、値が重複しています。つまり、私が指定した最後の値がすべてのリスト項目で複製されます。

私のコードは次のとおりです

header.h

doublely_list_insert.c

doublely_list_traverse.c

そして、ここにメインファイルが来ます、

main.c

実行中に、最初または最後に1つのデータのみを挿入すると、適切に入力を取得します。

しかし、2 つ目を挿入すると、問題が発生します。私の場合、id 値は同じままです。ただし、2 番目の入力の名前の値が 1 番目の値に重複しています。

なぜこれが起こっているのですか?引数を渡すのに何か問題がありますか?

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

list - DoublelyLinkedList プロジェクト: 入力例

私は現在、大学の Java コースで二重リンク リスト プロジェクトに取り組んでいます。二重連結リスト、連結リスト、およびリストの概念を理解しています。ただし、メソッドで変更する必要があるデータを作成する方法がわからないため、プログラムを作成するのに多くの問題があります。私たちの教授は通常、彼が使用する情報を私たちに提供しますが、今回は提供しませんでした。私の研究ではそれを理解できないようです.

私の主な質問は、誰かが私が作業を開始するためのコードを書き、私のメソッドがより良くする必要があることを理解し始めることができるかということだと思います.

これが私がこれまでに持っているものです。(基本的にはオーバーライド スケルトンのみ..)

助けてくれてありがとう。

}

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

java - 二重リンク リストのノード メソッドを追加しますか?

私は現在これを持っていますが、リストを二重リンクリストにしたいのですが、どうすればよいかわかりません。

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

doubly-linked-list - 二重リンクリストを使用した並べ替えアルゴリズム

二重にリンクされたリストを宿題として4つの並べ替えアルゴリズム(挿入、選択、シェル、クイックソート)を実装する必要がありますが、オンラインで見つけた並べ替えアルゴリズムのすべての説明で配列を使用する必要があるため、完全に失われます。このコードをDLLの疑似インデックスとして使用しようとしました。

しかし、それだけでは十分ではありません。セッターではないからです。アイデアの男/女はいますか?

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

java - Java で LinkedList を拡張する DoublyLinkedList クラスの正しい実装は何ですか?

LinkedListリストの最初へのポインタを持つ独自のカスタムクラスがありNodeます。DoublyLinkedListここで、クラスを作成する必要があります。との唯一の違いは、DoublyLinkedListがs の代わりにsを使用することです。私のクラスはクラスを拡張します。LinkedListDoublyLinkedListDoubleNodeNodeDoubleNodeNode

拡張する a を作成する正しい方法は何ですか?DoublyLinkedListLinkedList

DoubleNodes をsに常にキャストする必要がありNodeますか? または、私が見逃している簡単な方法はありますか?

助けてくれてありがとう。