問題タブ [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 投票する
3 に答える
509 参照

c++ - c ++単一文字の出力と入力

各ノードに単一の文字を保持する二重リンクリストを実装するプログラムを c++ で作成しています。私は追加機能を介して文字を挿入しています:

この関数は次のように実装されます。

ただし、おそらく C++ の文字の処理方法に問題があると思います。リストを印刷しようとすると、リストに追加した文字を印刷することができません。これは私が印刷に使用しているものです:

印刷するだけでボロボロになります。リストに追加したことのない文字を出力します - メモリのどこかからの文字だけです。これを引き起こしている可能性があるのは何ですか?

0 投票する
4 に答える
8584 参照

java - Java の LinkedList の clear() impl

これは本当にばかげた質問だと思いますが、次のようになります。

Java のデフォルトの LinkedList 実装の clear メソッドがわざわざリストをたどってすべてのノードをアンフックするのはなぜですか? ヘッダーをフックから外して、残りのリストを接続したままにしないのはなぜですか?とにかく GC がそれを取得します。

メソッドは次のとおりです。

なぜそれを歩くのですか?にスキップしてみませんheader.next = header.previous = header;か?

私が理解できる最善のことは、それがGCに役立つことです...?このリンクhttp://java.sun.com/docs/books/performance/1st_edition/html/JPAppGC.fm.html#997442は、それを示唆しています。

ティア...

0 投票する
7 に答える
10869 参照

c# - C# - LinkedList - 指定したノードの後に​​すべてのノードを削除するには?

一般的な LinkedList を使用して元に戻す/やり直しバッファーを実装しています。

この状態では:
[トップ]
state4 (元に戻す)
state3 (元に戻す)
state2 <-- 現在の状態
state1
[下]

プッシュを行うとき、現在の状態の後のすべての状態を削除し、新しい状態をプッシュしたいと思います。

私の現在のバイパスは行うことですwhile (currentState != list.last), list.removeLast();が、それは最悪です

LinkedList は、Remove、RemoveFirst、removeLast のみをサポートしています...

RemoveAllNodesAfter(LinkedListNode ...) のようなものが欲しいですか?

すべてのノードを反復処理せずに、うまくコーディングするにはどうすればよいですか? もしかして拡張機能付き?...

0 投票する
9 に答える
2069 参照

algorithm - ネット上の複数のコンピューターで分散された堅牢なリンクリストを構築する方法は?

RAID(ディスク)のようなアルゴリズムを使用するプログラムを構築することを考えていました。1 台のコンピューターが停止した場合。次が介入します。その場所に。また、1 台から 1000 台のコンピューターに拡張する必要があります。

アドバイスが必要です。

私が学ぶ必要があるアルゴリズムの名前は何ですか?

ある時点で、git の上にビルドすることは可能だと思いました。

0 投票する
32 に答える
146614 参照

collections - リンクされたリストの実用的で現実的な例は何ですか?

リンク リストの定義は理解していますが、それをどのように表現し、共通の概念や項目に関連付けることができますか?

たとえば、OOP の構成 (編集: もともと「継承」と呼ばれていました) は、自動車に関連している可能性があります。実生活のすべての (ほとんどの) 自動車は本質的に同じものです。自動車にはエンジンがあり、それを start() したり、車を go() や stop() にしたりできます。通常、自動車には最大乗車人数がありますが、どちらも自動車であるバスとスポーツカーでは異なります。

継承の場合のように、単純な ole の単一リンク リストの直感的な実例はありますか? 典型的な教科書の Linked List の例は、整数と次へのポインタを持つノードを示していますが、あまり役に立ちません。

ご意見をお待ちしております。

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

iphone - Objective-Cを使用してファイルからリンクリストを効率的に保存/ロードするにはどうすればよいですか?

iPhone 用の Objective-C を 4 週間学習した後、私の最初の有用なアプリケーションはほぼ完成しました。ただし、現在のビューが変更されるたびにいくつかのインスタンス変数を保存し、ビューが再度開かれたときにそれらを再読み込みする必要があります。

intBOOLなどの基本的な C 型の変数を問題なくロードできますが、Objective-C オブジェクトで作成されたリンク リストには問題があります。

リンク リストは、3 つのポインター ( startPointercurrPointer、およびendPointer ) によってアクセスされるメモリで構成されます。各要素は、最後のポインター、次のポインター、ネストされたリンク リスト ( nestedPtr ) へのポインター、およびいくつかの変数で構成されます。

私の最初の試みは、読み込みコードで次のことを行うことでした:

最後にデバッグ ポイントを配置すると、すべての変数が正しい値になりました。コード内の値に実際にアクセスすると (コンソールでアクセスするとうまくいきました)、EXC_BAD_ACCESSメッセージが表示されました。


次に、リンクされたリストの読み込み行を次のように変更しました。

initPointerFromListメソッド:

問題は、ポインタがすべて個々のリンク リストを指していたことでした。そのため、currPointer が参照するリンク リストの開始位置と終了位置を取得するメソッドを作成しました。


私の質問は 3 つあります。

  1. 読み込まれたリンク リストにメモリを割り当てるために、initPointerFromListなどのメソッドを使用する必要がありますか?
  2. lastElementおよびfirstElementメソッドを使用してリストを検索するよりも、 currPointerendPointer、およびstartPointerの間の関係を維持する効率的な方法はありますか?
  3. 私が提示した読み込みコードの背後にあるテクニックに何か問題がありますか? それがなければ、何の問題もありません。それで、私はまだBAD_ACCESSメッセージを受け取ります。これらのメッセージがローディング コードに関連しているかどうか、またはアプリケーションの残りの部分でオブジェクトの割り当てを処理した方法に関連しているかどうかを知りたいです。

前もって感謝します!

0 投票する
18 に答える
21929 参照

c# - リンクされたリストを使用する必要がある場合の実際の例は何ですか?

別のプログラマーは、彼のキャリアの中で、リンクされたリストのデータ構造を使用するプロ用ソフトウェアのユースケースを見つけられなかったと述べていました。頭のてっぺんから良い例が思い浮かびませんでした。彼は主に C# と Java の開発者です。

これが特定の現実世界の問題を解決するための正しいデータ構造である例を誰か挙げることができますか?

関連: Linked List の実用的で現実的な例は何ですか?

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

c - Cのグラフ構造で特定のノードを検索するにはどうすればよいですか?

学校のプロジェクトのフェーズ1(3つのうち)は24時間であるため、結論に達し、コードを適応させるためにこれについて適切に話し合う時間があるわけではありませんが、少なくとも正しい決定をしたかどうかを知る必要があります。

リンクリストを使用しています。構造は次のとおりです。

基本的に、私にはたくさんの都市があり、それらの都市はグラフのようにすべて一緒にリンクされています。たとえば、A、B、C、D、およびEは、この順序で構造Cityに挿入されます。次に、AをB、CとD、BをC、D、E、CをD、EとDをEに接続します。

ここで、E市に行く必要があるとしましょう。これはリンクリストの最後の都市であり、リンクリストを最後まで通過するには時間がかかります。たぶん、この例では5つの都市ではありませんが、実際のアプリでは、少なくとも10,000の都市のようにサポートすることになっています。ただし、最短ルートはA(開始点)からCからE(またはADEまたはABEの場合もあります)です。

私の構造では、リンクリスト全体を1つずつトラバースすることなく、AからEへの最短ルートを見つけることができますか?そうでない場合、私は何を間違っていますか?

はいの場合、どうすればそれを行うことができますか?どうすればそのような道を見つけることができるのか分かりません...

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

mysql - MySQL データベースでリンクされたリストを取得しています

次の構造の MySQL データベース テーブルがあります。

リンクされたリストの順序でデータを取得する必要があります。たとえば、次のデータがあるとします。

id=1、2、4、3、9 の行をこの順序でフェッチする必要があります。データベースクエリでこれを行うにはどうすればよいですか? (私はクライアント側でそれを行うことができます。データベース側でこれを行うことができるかどうか興味があります。したがって、不可能だと言っても大丈夫です(十分な証拠があれば))。

終了ポイントもあると便利です (たとえば、10 回のフェッチの後、または行の条件が真になったときに停止します) が、これは必須ではありません (クライアント側で実行できます)。循環参照をチェックする必要がないことを願っています。

0 投票する
4 に答える
8000 参照

data-structures - プレーン、リンク、およびダブルリンクリスト:いつ、なぜ?

どのような状況で各種類のリストを使用する必要がありますか?それぞれの利点は何ですか?