問題タブ [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.
c - データが重複しているアイテムの削除
データが重複している連続したアイテムを削除する関数を書いています。例:リストを渡す
-> a-> b-> c-> c-> a-> b-> b-> b-> a-> null
結果として
-> a-> b-> c-> a-> b-> a-> null
リスト項目の定義と関数宣言を以下に示します。
Moコードは次のようになります
これは、望ましい結果を達成するための正しい方法ですか?
c - Cでの循環単一リンクリストのエレガントな実装?
従来のデータ構造を調べて、リンクリストで停止しました。循環型の単一リンクリストを実装しただけですが、このリストをよりエレガントな方法で表現できる、特にremove_node関数であることに圧倒されます。効率とコードの可読性を念頭に置いて、単一リンクの循環リストに対して、より簡潔で効率的なソリューションを提示できる人はいますか?
c++ - 自明な片方向リストの問い合わせ
リンク リスト クラスの addToHead 関数が正しく動作していません。機能はヘッド交換らしい。ヘルプ。お願いします。
c - 片方向リスト挿入同期
重複を含まない N 個の整数とk個のスレッド (ここでk << N )のソートされた片方向リンクのリストがあり、それぞれが何らかの整数 (ヘッド ノードより大きい) をリストに挿入しようとしているとします。
次のようなリストへの挿入を同期することは可能ですか?
- スレッドは、その (直前の) 前のノードへのアクセスのみをブロックできます
(「リスト全体」をロックしません)。 - 最大で O(k) 個のミューテックスと条件変数を使用できます
- プリエンプション/割り込みは発生しない
?
insertion - 片方向リストの挿入ソート
単一リンクリストで挿入ソートを実行することはできないと考えているのは正しいですか?
insertion sort
私の推論:定義上、外側のループで右に移動すると、内側のループで左に移動し、必要に応じて値を上 (右) にシフトし、現在の値を挿入することを意味すると仮定します。内側のループ。その結果、SLL はそのようなアルゴリズムに対応できません。正しい?
java - 片方向リストのクイックソート
クイックソートが機能しません。パーティション アルゴリズムに何を渡すか、ピボットを管理する方法について特に確信が持てません。ピボットがヘッダー ノードになる場合もあれば、最後のノードになる場合もあります。私のアプローチは、配列のソリューションに基づいています。これが私の試みです。何か案は?パーティショニング アルゴリズムは、単一リンク リスト (SLL) の一方向の性質に合わせて選択されていることに注意してください。
[編集]
これを「その場で」やりたい
このプロセスでヘッドとラストを管理する方法について、特に助けを求めています。
私のアプローチが不可能でない限り、代替案を提案しないでください
java - Javaの単一リンクリスト
次のコードでは、insertFirst()
メソッド内の 1 つのことを理解しようとしています。
最後のステートメントが間違っているのはなぜfirst =newLink;
ですかfirst.next=new Link;
? 最初に「次」はありませんか?
このコードが正しいことはわかっていますし、最初からノードを挿入する必要があることもわかっていますが、1 つのステートメントだけを理解するには助けが必要です。
と同じではfirst =newLink;
あり first.next=new Link;
ませんか?
c - スタックの問題
スタックのコードを開始していますが、ここに問題があります
私のコードの何が問題になっていますか?
これが問題です
void*
からへの無効な変換を示しましたStackNode*
コンパイルして、動作するかどうかを確認します
どうすればこれを修正できますか? 何を編集すればよいですか?
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メソッドについてはわかりません。助けてくれてありがとう。c++ - シングルリンクリストC ++での単純な挿入ソート
今のところ、私は効率について心配しておらず、ただ学んでいます。単独でリンクされたリストの単純な挿入ソートを学ぶのを手伝ってくれる人がいるのだろうかと思っていました。これは私の宿題なので、理解したいと思います。コードは次のとおりです。
これまでのところ、istream に読み込ませたので、読み込まれたときに並べ替える必要があります。ノードは構造体です。誰か助けてくれませんか?