私は現在、二重リンクリストの作成に取り組んでいますが、コンストラクタが前の要素と次の要素を必要とするため、私はそうするのが苦労しています。ただし、リストをチェックすると、頭と尾の2つのヌル要素が返されます。ノードのコンストラクタはある二重リンクリストを初期化し、最初の要素をjavaに追加するにはどうすればよいですか?
public Node(Node prev, Node next, String link) {
this.prev = prev;
this.next = next;
this.link = link;
}
私が持っている空のリストのコンストラクタです
public DoublyLinkedList() {
head = tail = null;
}
要素を追加するための私のコードは、私が知っている
public void addElement(String link) {
Node n = new Node(tail.prev, tail, link);
if (head == null) {
head = n;
head.next = n;
}
tail.prev = n;
tail = n;
}
あるという理由I私はそれをコンストラクタに渡すとtail == nullが返されるため、nullが返されます。しかし、新しいノードを作成する前にtailの値を更新する方法はわかりません。
public DoublyLinkedList() {
head = tail = null;
head.prev = null;
head.next = tail;
tail.next = null;
tail.prev = head;
}
でも、空のリストを作成しようとしましたが、要素が追加されているとして表示されていません。ただ、スタートのために :
「機能していない」という意味を明確に定義していないと、私たちはあなたを助けません。 –
@JoeC私は実際にリストをチェックしようとすると、私はちょうどヌル要素、頭と尾を取得するポストに入れました。私は明確にするために編集しました。 –
デバッガの使い方を学ぶ必要があるようです。 [補完的なデバッグ手法](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)にご協力ください。その後も問題が残っている場合は、より具体的な質問に戻ってください。 –