삽입 코드는 마지막 삽입까지 완벽하게 작동하는 것처럼 보입니다. 삽입 코드는 목록 끝에 추가하는 대신 순서대로 추가하지 않습니다.사용자 지정 목록에서 반복적으로 삽입 및 제거
public void insert(Comparable item)
{
if (this.first == null || item.compareTo(this.first.data) <= 0)
{
addFirst(item);
}
else if(item.compareTo(this.first.data) > 0)
{
addLast(item);
}
else
{
Node oldFirst = this.first;
this.first = this.first.next;
insert(item);
this.first = oldFirst;
}
}
이 그것을 생산하는 출력입니다 ...
6 Item(s)
5
16
21
22
45
23
는 항목을 제거하고 난 이유를 알아낼 수 없습니다 후 제거 방법은 컴파일을 중지
. 이 remove 메소드의 출력입니다public Comparable remove(Comparable item)
{
if(this.first == null)
{
return null;
}
Node oldFirst = this.first;
if(this.first.next == null && this.first.data.equals(item))
{
Comparable found = this.first.data;
this.first = null;
return found;
}
this.first = this.first.next;
if(this.first.data.equals(item))
{
Comparable found = this.first.data;
oldFirst.next = this.first.next;
this.first = oldFirst;
return found;
}
Comparable foundIt = remove(item);
return foundIt;
}
....
at List.remove(List.java:164)
Removed: 21. List has: 4 Item(s)
at List.remove(List.java:164)
16
at List.remove(List.java:164)
22
45
at TestRecursion.main(TestRecursion.java:87)
충돌에 대한 스택 추적은 무엇입니까? –
전체 코드를 넣을 수 있습니까? 그러면 문제를 알려주십시오. –
전체 수업을 볼 수 있습니까? –