問題タブ [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.
java - リンクされたリスト - 現在のノードの前にノードを挿入する
リンクされたリストの現在のノードの前に渡されたノードを挿入するメソッドに取り組もうとしています。それには3つの条件があります。この実装では、ヘッド ノードは存在できず (リスト内の最初のノードへの参照のみ)、これ以上変数を追加することはできません。
- リストが空の場合、渡されたノードをリストの最初のノードとして設定します。
- 現在のノードがリストの先頭にある場合。その場合は、現在のノードの次に渡されたノードを設定し、最初のノードを渡されたノードとして設定し、それを前に移動します。
- リストが空ではなく、現在のノードが先頭にない場合は、ローカル ノードがリストの現在のノードと等しくなるまで、リストを反復処理します。その後、2と同じ指示を実行します。
これが私のコードです。
[1] と [2] の条件で動作しています。しかし、私の [3] (insertBeforeCurrentNode() をテストする) は正しく動作していません。印刷ステートメントを設定しましたが、電流がどこかでリセットされていると判断しましたが、どこで使用できるかがわからず、ガイダンスまたは解決策を使用できます。
[1] と [2] の出力は正しいです。[3] の出力は次のようになります。
[3] リストには 26 個のノードが含まれます: zxvtrpnljhfdbcegikmoq suwya
事前に助けてくれてありがとう。
java - 単一リンクリストで現在のノードを削除するには?
プログラムを終了しようとしているところに行き詰まってしまいました。私の deleteCurrentNode メソッドは部分的にしか機能しません。何らかの理由で、リンクされたリストをトラバースして currentNode を見つけようとすると、決して見つかりません。誰かがそれを機能させる方法のヒントを教えてもらえますか?
メソッド自体は、次の 4 つの条件をチェックします。
- リストが空の場合。
- currentNode が null の場合。
- currentNode がリストの最初のノードである場合。
- currentNode がリストのどこかにある場合。
他の条件は機能します(私の知る限り)。4は問題の場所です。
[4] は [2] と同じように読む必要があります (リストには 0 ノードが含まれます)。
注: 既に持っている変数/メソッド/その他をこれ以上使用することはできません。そして、ヘッドノードを使用できません。
java - 逆リンクリスト-Nullポインタ例外
リンクリストをインプレースで反転するJava関数を作成しています。私はJavaを初めて使用しますが、以下の関数のバグを正常にデバッグできません。IDEは、私が理解できないようなNullPointerExceptionを返します。どんな助けでも大歓迎です。
テストのために、8つのリンクされたノードですでに初期化されたリンクリストがあります。上記の関数では、各ノード間で次のポインターを交換しreversedLinkedList
、リンクリストに沿ってポインターを移動しようとしています。
編集:発生場所を特定するためにデバッガーを使用することを提案する人もいNullPointerException
ます。私はすでにそれをしました。これは、ループreversedLinkedList = reversedLinkedList.getNext();
の2回目の反復の行で発生します。while
テスト用に8つのポインターでリンクリストを初期化しました。ループはwhile
、2番目のノードに移動する代わりに、代わりにnull
ポインターを参照します。一時変数と関係があるかもしれませんが、よくわかりません。
c - C の文字列連結リスト
私はCのリンクリストを初めて使用します。問題は、文字列のリンクリストを作成しようとしていることですが、そのリストを印刷しようとすると、2つの異なる文字列から最初の文字が印刷されます。私はいくつかの指針を台無しにしていると思います。何か助けてください。これが私のコードです...
c - 単一リンクリストと二重リンクリストの両方からランダムノードを削除する
二重リンクリストと単一リンクリストの両方からノードを削除するためのロジックを思い付くのに苦労しています。ヘルプからオンラインで調べましたが、簡単な例が見つかりませんでした。これが私が持っているものです:
二重にリンクされた削除。dCurrent
削除するノードです。
これが私が単一リンクリストのために持っているものです。繰り返しsCurrent
ますが、削除するノードです。およびsPrev = sCurrent->prev
。
問題は、両方のリストからランダムノードのコレクションを削除した後、二重にリンクされたリストが頭から尾まで正しく表示されますが、尾から頭までは正しく表示されないことです。単一リンクリストも正しく表示されません。
class - クラスを使用した単方向リストの問題
複数のファイルとクラスを使用して、単一リンクリストのプログラムを作成しています。
Node.h、LinkedList.h、Node.cpp、LinkedList.cpp、および main.cpp が必要です。
私は他の問題を抱えていましたが、printList() 関数は "List(node 1, node2, etc...)" ではなく "List()" を出力するだけです。
ここに私が持っているコードがあります: (私は Node.h と LinkedList.h ファイルを変更することはできません)
Node.h:
LinkedList.h:
Node.cpp
LinkedList.cpp
main.cpp
私の問題を理解するのを手伝ってくれたら、とても感謝しています。
class - クラスを使用して単方向リストを印刷する
複数のファイルとクラスを使用して、単一リンクリストのプログラムを作成しています。
Node.h、LinkedList.h、Node.cpp、LinkedList.cpp、および main.cpp が必要です。
私は他の問題を抱えていましたが、printList() 関数は "List(node 1, node2, etc...)" ではなく "List()" を出力するだけです。
searchNode() も正しく機能しないため、挿入が問題になる可能性があると思います。常にノードが見つからないと表示されます。
ここに私が持っているコードがあります: (私は Node.h と LinkedList.h ファイルを変更することはできません)
Node.h:
LinkedList.h:
Node.cpp
LinkedList.cpp
main.cpp
私の問題を理解するのを手伝ってくれたら、とても感謝しています。
java - リンクリストの動的実装
私の教科書には、リンクリストを動的に作成するためのこのコードがあります。問題は、プログラムが行ごとに実行されるときに、変数 'info' をタイプ 'int' として定義し、変数 'next' を Nodetype として定義することです。
ここで実際に何が起こっているのですか?
変数 'next' に - が含まれることを意味しますか?
- コンストラクター「Nodetype」
- int 情報
- Nodetype "next" ここで、"next" はすべて 1,2,3 になり、3 は再び 1,2,3 になります... というように.... 無限まで?
仕組みが分からなくて本当にイライラしています 誰か簡単に説明してくれませんか?
c - 再帰的にリンクされたリストを逆にします-異なる関数シグネチャ
おそらく同じ質問の投稿がたくさんありますが、問題はそれがによって行われなければならないと言っています
3つの空白を埋める必要があります最初の2つは単純です
と
それぞれに
1つの方法は、単に下に移動してポインターを逆にすることですが、その場合、バックトラックした後でもテールをそのまま維持するにはどうすればよいですか?それは可能ですか?
c# - C#で単一のリンクリストを逆にする
リンクされたリストを逆にしようとしています。これは私が思いついたコードです:
それはうまくいっています。新しいノードの作成を回避できるかどうか疑問に思っていました。これについての提案をしたいと思います。