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

java - JavaでのCircularLinkedListの実装

これは課題です。循環リンクリストを作成し、リスト内の3つおきの番号を削除する必要があります。私のプログラムがリストの最後に達すると、先頭に戻り、1つの番号だけが残るまでプロセスを続行する必要があります。

オンラインや他の参考書を検索しましたが、問題を解決できませんでした。私が見つけた参考文献のほとんどは、次のようなことを言っています。

循環リストには終わりがないという事実を除けば、通常のリストとまったく同じです。

または(私の教科書から引用):

最後のノードの後継が最初のノードである場合、単一リンクリストは循環リンクされます

しかし、これらはそれを行う方法を教えていません。このサイトで見つけたコードを使ってみましたが、何もわかりませんでした。

リストを作成して(循環リンクリストかどうかはわかりませんが)表示することはできますが、要素の順序がおかしいです。

  • リストに6つの番号がある場合、リストは1,6,5,4,3,2になります。
  • リストに8つの番号がある場合、リストは1,8,7,6,5,4,3,2になります。

正しいリストを取得しなくても、正しく削除できます。次のコードの何が問題になっていますか。


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

java - 並べ替えられた循環リンク リストへのデータの挿入

結果のリストもソートされるように、特定のデータを既にソートされた循環リンクリストに追加したいと考えています。クラス メンバーとしてとを持つのクラスNodeは既に提供されています。public int datapublic Node next

addNode(Node head)既知の data(9) をリストに挿入する関数が実装されます。Node head循環リンクリストのヘッドポインタです。

以下のケースを検討しました

  1. リストが空の場合、ノードを作成し、そのデータを 9 として配置し、その次を参照します。新しく作成したノードをヘッドにします。

  2. リストに項目が 1 つしか含まれていない場合。最初のノードの次のポインターを新しいノードを指すように変更し、新しいノードの次のポインターを特定のヘッド ノードを指すように変更します。値が最も低いノードをヘッド ノードが指すようにします。

  3. 挿入されたデータがすべての中で最小の場合、つまり、ヘッド ノードが指すノードのデータよりも小さくなり、ヘッド ノードの前に挿入されます。

  4. 2 つのノード間でデータを挿入する場合。そのため、新しいデータが挿入される前のノードを見つける while ループを使用し、それに応じてノードの次のポインターを変更しています。

コードを送信すると、なぜか 1 つのテスト ケースが失敗し、それを見つけることができません。誰かが私の論理で見落としている可能性のある状態を見つけるのを手伝ってくれますか.

以下は実装されたコードです。

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

java - 逆方向単方向リンク リスト Java、循環かどうかをチェック

Java で単一リンク リストを実装しました。単独でリンクされたリストを逆にして、特定のリストが循環しているかどうかを確認できます。興味深いのは、循環リストを逆にすることもできるということです。これは奇妙で興味深いことです。循環リストを反転できるのは理にかなっていますか?実際には、何度も反転する必要がありますよね? 現時点では、以下のコードは循環リストを逆にして終了することができます。それが正しいか?

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

java - 挿入ソート二重循環リンクリスト

だから私は二重リンクリストに挿入ソートをさせようとしています

現在、ノードを適切な場所に移動するだけで問題が発生しています。比較は機能していますが、ノードが移動しません。

誰かがこのアルゴリズムを正しくするのを手伝ってくれるかどうか疑問に思いました。循環二重リンクリストを使用して、時間の複雑さについてさまざまな並べ替えルーチンをテストしています。

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

java - Javaコードが機能しないのはなぜですか?

循環リンクリストを使用して、よく知られているヨセフスの問題を実装することになっているJavaのコードに取り組んでいます。ヨセフス問題に関する情報は次のとおりです。http://en.wikipedia.org/wiki/Josephus_problem

ジョセフスクラスを作成するために与えられた学生クラスとドライバークラスがあります。

これが学生クラスです:http://pastebin.com/4YgSA7CM

これがDriverクラスです:http://pastebin.com/Nb08Dtqk

これらのクラスはどちらも変更できません。

ゼロから始めて、ヨセフス問題を効果的に使用する循環リンクリストを使用するヨセフスクラスを作成する必要がありました。

これが、コンパイラエラーのない完成したJosephusクラスです。

私のstartJosephusメソッドは私が信じる主な問題です。しかし、完全にはわかりません。上記のコード内のstartJosephusメソッドは次のとおりです。

これが私のJosephusクラスを実行するときに実行されているものです:http://pastebin.com/5GnChgYd

出力が生成することになっているものは次のとおりです:http://pastebin.com/Qr5dCZJp

また、この出力を生成するために使用される2つの入力ファイルは次のとおりです。

StudentList1.txt: http: //pastebin.com/ysjevQ8u

StudentList2.txt: http: //pastebin.com/r2YeppNm

私が得ている出力と私が得ているはずの出力に基づくと、ヨセフスの問題は始まっておらず、殺し屋をシミュレートしていないようです。しかし、コードの何が問題なのかわかりません。循環リンクリストであるため、私のコードにテールを付けることはできません。私がここで間違っていることについて何か考えはありますか?すべてのPastebinリンクについて申し訳ありませんが、ここで提示しているすべてのコードを整理するためのより良い方法のように思えました。あなたの考えを聞いてみたいです。

これは、無限ループの問題を修正した後に発生する新しいランタイムエラーです。助言がありますか????これらすべてのヌルポインタ例外とは何ですか

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

java - JavaコードのNullPointerExceptionエラー。

頭のてっぺんから私のコードに何か問題があると思いますか?

これが私の完全なコードです:http://pastebin.com/S0kWwFFV

これが私のドライバークラスでもあります:http://pastebin.com/Nb08Dtqk

ここで、このメソッドに起因しているように見えるNullPointerExceptionsが発生しています。私のコードに明らかに問題がある場合は、助けてください。

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

java - スパース行列をどうするかを理解する必要があります

したがって、循環リンクリストに基づいてスパース行列を作成する必要があります...しかし、開始方法がわかりません...これまでのところ、Nodeクラスのようなものにこれらのフィールドを含めるノードクラスが必要です。

これが私の割り当てのスパース行列がどのように見えるかの画像です

最初のノードを作成する必要があると思います。これはEnterキーですが、次は何であるかわかりません...

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

c - Circular Doublely Linked List のメモリを解放する

valgrind は、XX ブロックに XX バイトがあり、間違いなく記録が失われていることを教えてくれます。

ソースはmallocにありますが、malloc用に十分なメモリを解放していないためだと思います。とにかく、ヒープエラーを引き起こしていると思われるコードを提供しました。

私は list_remove でメモリを解放していないことを認識しています。これが問題の唯一の原因であると確信しています。おそらく温度をいくらか変更する必要がありますが、それが唯一の問題かどうかはわかりません。

list last は、単にリストの最後のノードを提供します。

編集: 十分な情報を提供できなくて申し訳ありません、Kerrek SB, alk. これがコードの残りの部分です。malloc が newnode で発生していることがわかります。ここで、新しいリストの作成を開始できます。構造体は非常に単純で、値と前、次があります。

助けてください!それでもヒープでメモリリークエラーが発生します...

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

reverse - 循環単一リンクリストを逆にする方法

単一のリンクリストを逆にするのは簡単です。次のコードは正常に機能します。

循環単一リンクリストを逆にする方法は?これに合わせてコードを調整します

しかし、それは機能せず、この関数を実行した後、循環リストは非循環になるだろうと思いました。実際、それをダンプした後、それはまだ循環リストであることがわかりました。それは私がその中で間違った論理を作っているに違いありません、私に正しく見せてください。

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

actionscript-3 - ActionScript 3 の CircularList

私はしばらくの間AS3プロジェクトに取り組んできましたが、壁にぶつかったと思います。私のプロジェクトでは、一連の要素をCircular ListCircular Listに配置する必要があるため、以前に C# で行った に自分自身をコピーしました。

問題は、 Genericsの使用に大きく依存していたことです。今、私はそれらを持っていません。

ここにコードがあります。変数のT型は、私が存在したいジェネリックを表します。

Node.as:

CircularList.as:

ジェネリックなしでこれを機能させる方法はありますか?

編集:これに関する本当の問題は、 Node クラスのNodeContentをオブジェクトにしたいということです。基本的には円形のテーブルに座っている人のリストを作成したいのですが、この問題のために特別に作成されたものではなく、再利用できるコードが必要です