最後のリンクリストにデータを追加しようとしています。ここに私のコードです。 これは私のリンクリストクラスです:リンクリストの最後にデータを追加する
public class LinkedList {
Node head;
private static class Node {
int data;
Node pointer;
public Node(int data) {
this.data=data;
pointer=null;
}
}
この方法では、最後にデータを追加するためのものです。
public void append(int new_data){
Node new_node=new Node (new_data);
if (head==null){
head=new Node(new_data);
}
Node last_node=head;
new_node.pointer=null;
while (last_node.pointer !=null){
last_node=last_node.pointer;
last_node.pointer=new_node;
}
}
この方法でデータを印刷します。
public void printData(){
Node print_Node;
print_Node=head;
while (print_Node !=null){
System.out.print(print_Node.data+" ");
print_Node=print_Node.pointer;
}
}
public static void main(String[] args) {
LinkedList obj=new LinkedList();
obj.append(10);
obj.append(100);
obj.printData();
}
}
私のコードのどこに問題がありますか?
while (last_node.pointer !=null){
last_node=last_node.pointer;
last_node.pointer=new_node; // this line ... bad!
あなたはあなたのリストにすべてのノードを反復するためにlast_nodeを使用している:それは、あなたの問題はここにある10
は、あなたがそれをデバッグしようとしたがありますか? – Reimeus
実際に私のロジックに問題が見つかりませんでした:\ soデバッグを開始できませんでした:\ – Tasmin
[ラバーダックのデバッグ](https://en.wikipedia)をコンパイルするコードのデバッグを開始することができます.org/wiki/Rubber_duck_debugging))。あなたのことが印刷されていると思っていることを考えれば、それはコンパイルする必要があります。したがって、デバッグすることができます。 –