やあ、私は単独でリンクされたリストのappenedメソッドを実装しようとして問題を抱えています. コードは次のとおりです。
public void append ( int item ) {
//inserts item to the end of the list
if ( head == null){
head = new LinkInt();
curr = head;
curr.elem = item;
}
else{
LinkInt temp = head;
while ( temp.next != null){
temp = temp.next;}
temp.elem = item;
}
}
そして、ここに私の印刷方法があります(それも正しいかどうかはわかりません):
public void print () {
//outprint the array
//ie. <1, 2, |3, 4>
if ( head == null) {
System.out.print("<");
System.out.print(">");
}
else{
LinkInt temp = head;
System.out.print("<");
while ( temp != null) {
if ( temp == curr){
System.out.print( "|" + temp.elem + ","); }
else{
System.out.print( temp.elem );
System.out.print(",");}
temp = temp.next;
}
System.out.print(">");
}
}
}
問題は次のとおりです。
appened 3 としましょう ->>> <|3> を取得しますが、->>>> の後に 5 を追加すると <|5> を取得し、最初のアイテムを削除します。
助けてください:(