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

c - データが重複しているアイテムの削除

データが重複している連続したアイテムを削除する関数を書いています。例:リストを渡す

-> a-> b-> c-> c-> a-> b-> b-> b-> a-> null

結果として

-> a-> b-> c-> a-> b-> a-> null

リスト項目の定義と関数宣言を以下に示します。

Moコードは次のようになります

これは、望ましい結果を達成するための正しい方法ですか?

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

c - Cでの循環単一リンクリストのエレガントな実装?

従来のデータ構造を調べて、リンクリストで停止しました。循環型の単一リンクリストを実装しただけですが、このリストをよりエレガントな方法で表現できる、特にremove_node関数であることに圧倒されます。効率とコードの可読性を念頭に置いて、単一リンクの循環リストに対して、より簡潔で効率的なソリューションを提示できる人はいますか?

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

c++ - 自明な片方向リストの問い合わせ

リンク リスト クラスの addToHead 関数が正しく動作していません。機能はヘッド交換らしい。ヘルプ。お願いします。

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

c - 片方向リスト挿入同期

重複を含まない N 個の整数とkのスレッド (ここでk << N )のソートされた片方向リンクのリストがあり、それぞれが何らかの整数 (ヘッド ノードより大きい) をリストに挿入しようとしているとします。

次のようなリストへの挿入を同期することは可能ですか?

  • スレッドは、その (直前の) 前のノードへのアクセスのみをブロックできます
    (「リスト全体」をロックしません)。
  • 最大で O(k) 個のミューテックスと条件変数を使用できます
  • プリエンプション/割り込みは発生しない

?

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

insertion - 片方向リストの挿入ソート

単一リンクリストで挿入ソートを実行することはできないと考えているのは正しいですか?

insertion sort私の推論:定義上、外側のループで右に移動すると、内側のループで左に移動し、必要に応じて値を上 (右) にシフトし、現在の値を挿入することを意味すると仮定します。内側のループ。その結果、SLL はそのようなアルゴリズムに対応できません。正しい?

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

java - 片方向リストのクイックソート

クイックソートが機能しません。パーティション アルゴリズムに何を渡すか、ピボットを管理する方法について特に確信が持てません。ピボットがヘッダー ノードになる場合もあれば、最後のノードになる場合もあります。私のアプローチは、配列のソリューションに基づいています。これが私の試みです。何か案は?パーティショニング アルゴリズムは、単一リンク リスト (SLL) の一方向の性質に合わせて選択されていることに注意してください。

[編集]

  • これを「その場で」やりたい

  • このプロセスでヘッドとラストを管理する方法について、特に助けを求めています。

  • 私のアプローチが不可能でない限り、代替案を提案しないでください

0 投票する
5 に答える
608 参照

java - Javaの単一リンクリスト

次のコードでは、insertFirst()メソッド内の 1 つのことを理解しようとしています。

最後のステートメントが間違っているのはなぜfirst =newLink;ですかfirst.next=new Link; ? 最初に「次」はありませんか?

このコードが正しいことはわかっていますし、最初からノードを挿入する必要があることもわかっていますが、1 つのステートメントだけを理解するには助けが必要です。

と同じではfirst =newLink;あり first.next=new Link;ませんか?

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

c - スタックの問題

スタックのコードを開始していますが、ここに問題があります

私のコードの何が問題になっていますか?

これが問題です

void*からへの無効な変換を示しましたStackNode*

コンパイルして、動作するかどうかを確認します

どうすればこれを修正できますか? 何を編集すればよいですか?

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

java - リンクリストのequalsおよびhashcodeメソッドの作成

私の割り当ては、単一リンクリスト(ノード)を使用して、listおよびlinkedlistから特定のメソッドを実装することになっています。

これを使用してequalsメソッドとhashcodeメソッドをどのように実装するのか疑問に思いました。equalsメソッドは2つのリストを比較しますが、それがノードにどのように変換されるかわかりません。ノードの2つのリストが作成されますか?または、次々と実行され、同等性をテストするメソッドを作成するにはどうすればよいですか?

}

public void removeNode(Node node){ if(size == 0) head = null; else{ if(node == head){ head = node.next; node.next.previous = null; } else{ node.next.previous = node.previous; node.previous.next = node.next; } } size--; }

public Node findNode(int index){ Node myNode; myNode = head; while( index-- > 0) myNode = myNode.next; return myNode; }

public List12() { head = null; size = 0; }

これは私のノードとそのメソッドのコードにすぎません。他のメソッドを実装しましたが、equalおよびhashcodeメソッドについてはわかりません。助けてくれてありがとう。

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

c++ - シングルリンクリストC ++での単純な挿入ソート

今のところ、私は効率について心配しておらず、ただ学んでいます。単独でリンクされたリストの単純な挿入ソートを学ぶのを手伝ってくれる人がいるのだろうかと思っていました。これは私の宿題なので、理解したいと思います。コードは次のとおりです。

これまでのところ、istream に読み込ませたので、読み込まれたときに並べ替える必要があります。ノードは構造体です。誰か助けてくれませんか?