答えて
OK、私はあなたにクラスの完全な実装を与えるつもりはありませんが、代わりに私はいくつかのアドバイスを提供します。
- 最後の要素への参照を保持する必要はありません。前のノードと次のノードをノードに配置すると、最後のノードが最初に配置されます。プレビュー
循環リストには終わりがないという事実以外は、通常のリストと全く同じですが、 :
ノードtmp = first;
while(tmp.Next!= null) tmp = tmp.Next;円形リストで
アイデアは、このようなものです:リストが空でない限り、あなたは、ヌルを指すノードを見つけることはありませんので
Node tmp = first;
while (tmp.Next != first)
tmp = tmp.Next;
。最後にひとつアドバイス、あなたが
list[count] = list[0] = list[count * k]
はので、これらのメソッドのためにあなたの指標を算出する、心の中でそれを保つために、インデクサを実装して循環リストに範囲外のインデックスのようなものが存在しないことを覚えておく必要がある場合することができますかなりトリッキーです。正のインデックスの場合、主なアイデアは次のとおりです。
index = index % count;
マイナスのものは若干異なります。私は私の言葉でお手伝いできることを願っています。あなたが実装をしたい場合、私は丁寧にGoogleに尋ねる場合はいくつかあるはずだと信じています:)
最高の運!
ありがとう、ありがとうございました – user508833
こんにちは私は思いついたプログラムを追加しました。おかげで – user508833
あなたは私のためにこれを見てくださいありますか? – user508833
私はあなたの問題が何であるか分かりません。必要なものはすべて持っているようです。そのリンクされたリストと通常のものとの唯一の違いは、最後に追加することです。
通常のリンクリストでは、新しいノードを作成し、最後の要素がそのノードをポイントするようにします。この場合、•最後のノードのポインタを新しいノードを指すように変更し、新しいノードを•最初にポイントします。
削除は、通常のリンク済みリストと同じ方法で動作します。ノードを削除したいときは、そのノードを指し示している他のノードを見つけます(以前のノードを削除する場合、最後のノードをチェックする場合はLastをチェックしてください)。
これで問題が解決しない場合は、教えてください。手伝ってください。宿題のようなこの縫い目が..私はそれを推測した Can I use java.util.LinkedList to construct a circular/cyclic linked list?
こんにちは、私が思いついたプログラムを追加し、追加の支援が必要です。ありがとう – user508833
まず、removeLast()にエラーがあります: whileループ内でcurrent.setNextNode(..)を実行すると、すべてのノードが最初のものになります。あなたはそれを外に持ちたいので、最後の2番目のノードのポインタだけが変更されます。 質問のために、引数としてpを指定してremoveByPosition()を呼び出すだけです。この関数を変更して、末尾にtail = current.getNextNode()を設定します。それから1ノードだけが残るまで引数としてpを呼び出してください。 – Zepee
あなたは私のためにこれを見ていただけますか? – user508833
class Node {
int value;
Node next;
Node prev;
Node(int initialValue) {
value = initialValue;
next = null;
prev = null;
}
public int getValue() {
return this.value;
}
}
class NodeList {
Node pointer;
NodeList() {
pointer = null;
}
public void insertNode(int nodeValue) {
Node newNode = new Node(nodeValue);
if(pointer == null) {
newNode.next = newNode;
newNode.prev = newNode;
}else if(pointer.next == null && pointer.prev == null && pointer != null) {
newNode.next = pointer;
newNode.prev = pointer;
pointer.prev = newNode;
pointer.next = newNode;
}
else if(pointer != null) {
newNode.next = pointer.next;
newNode.prev = pointer;
pointer.next.prev = newNode;
pointer.next = newNode;
}
pointer = newNode;
System.out.println(“Successfully inserted : ” + pointer.getValue());
}
public void printRing(boolean direction) {
Node tempNode = pointer;
do {
System.out.println(“Value = ” + tempNode.getValue());
tempNode = direction ? tempNode.next : tempNode.prev;
} while(tempNode.value != pointer.value);
}
}
- 1. インスタンス私はこのようなクラスのテストを記述しようとしています
- 2. Scalaアプリケーション内でのJavaクラスの記述
- 3. Java - メソッドまたは内部クラスまたはクラスとして?
- 4. [Java] jFrameフォームにクラスのインスタンスを作成しようとしています
- 5. Javaの内部クラスとローカル内部クラスの違いは何ですか?
- 6. Javaネストされた内部クラスのアクセス外部クラス変数
- 7. は私が.EPSファイル内のデータを記述しようとしています
- 8. アクションリスナと内部クラスjava
- 9. スリフト記述ファイルフォーム既存のJavaクラス
- 10. Javaでリフレクションして内部クラスをインスタンス化する方法は?
- 11. のJava - 内部クラス
- 12. Javaの内部クラス
- 13. Javaの内部クラス
- 14. ラムダ式は `.class`が、内部クラスを記述しない理由
- 15. Javaは内部でクラスとどのように連携しますか?
- 16. javaのlinkedlistクラスを持つカスタムノードクラス
- 17. ドキュメントのクラス名を含むメソッドシグネチャを記述してください
- 18. インタフェースメンバ変数を持つクラスのコピーコンストラクタをJavaで記述することはできますか?
- 19. のJava:外部クラスと内部クラス間の同期
- 20. 2つの異なるJava FXシーンを2つの別々のクラスとして記述できますか?
- 21. どのように私はMessagingServiceというクラスは、Java
- 22. Javaメソッドは、私はこのような1つの内部クラスと1つの外部クラスを持っている
- 23. 他の内部クラスのJava内部クラスアクセス変数
- 24. 私は、このメソッドを記述しようとしている
- 25. JAVA - クラスの外で実行されたアクション内から変数を使用しようとしています
- 26. Javaで匿名の内部クラス内で外部クラスのインスタンスにアクセス
- 27. 内部クラス:AndroidとJavaの比較
- 28. JAVAのオーバーライドと内部クラス概念
- 29. は、私は、次の形式のクラスを持つJavaクラス
- 30. はHTMLクラスの内部からRubyの変数にアクセスすると、私は私のHTMLからルビー「変数名」変数にアクセスしようとしている
:
ちょうど誰かがすでに正確に同じ質問をした気づきましたか? –
こんにちはフェロー学生! PLZは何かを試してみて、あなたがつかまれているポイントに達すると、私たちはあなたを少し押し込むことができます。最初の講義スライドとラボの実践からの最初の演習を見てください。 – Muggen
あなたがこれまでに試したことをあなたが示すなら、人々は助けてくれるでしょう。 – Naveen