これがJavaのリンクリストのコードです。コードは無限ループに入り、問題を特定できません。何が間違っている可能性がありますか。
import java.io.*;
class LinkedList
{
public int data;
public LinkedList next;
LinkedList add(int a,LinkedList ob)
{
LinkedList p=ob;
if(ob==null)
{
this.data=a;
ob=this;
return ob;
}
else
{
while(p.next!=null)
{
if(p.next==null)
break;
else
p=p.next;
}
this.data=a;
this.next=null;
p.next=this;
}
return null;
}
void display(LinkedList ob)
{
LinkedList p=ob;
while(p!=null)
{
System.out.println(p.data);
p=p.next;
}
}
public static void main(String []args)throws IOException
{
LinkedList head=null;
LinkedList o=new LinkedList();
head=o.add(5,head);
o.add(6,head);
o.add(7,head);
o.display(head);
}
}
ヘッドは正しく入りますが、さらなる要素が問題を引き起こしています。