게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
자바 질문드립니다 도와주세요
게시물ID : computer_130681짧은주소 복사하기
작성자 : 아라니나
추천 : 0
조회수 : 345회
댓글수 : 3개
등록시간 : 2013/11/27 09:02:59
자바로 링크드리스트를 만드는 과정입니다. 오름 차순으로 정렬 되도록 해야되서 add 메소드를 이렇게 정의하였습니다.

public class SortedLinkedList<T extends Comparable<T>> extends LinkedList<T> {
@Override
public void add(T item) {
Node newNode = new Node();
newNode.item = item;
newNode.next = null;
if(list == null)
{
System.out.println("loc == null");
list = newNode;
++size;
}
else 
{
Node prevLoc = null;
Node loc = list;
while(loc!=null)
{
int comp = item.compareTo(loc.item);
System.out.println(comp);
if(comp>0)
System.out.println("cmp > 0");
loc.next = newNode;
++size;
break;
}
else if(comp==0){
System.out.println("중복숫자를 입력하였습니다.");
break;
}
else{
System.out.println("cmp < 0");
prevLoc = newNode;
newNode.next = list;
list = newNode;
++size;
break;
}
}
}
}


그리고 테스트 클래스를 만들어 테스트를 해보면

public class Test {
public static void main(String[] args) {
//LinkedList<Integer> llist = new sortedLinkedList<Integer>();
LinkedList<Integer> list = new SortedLinkedList<Integer>();
list.add(5);
list.add(3);
list.add(10);
//list.add(7);
for(Integer i: list){
System.out.println(i);
}
//System.out.println(1);
}
}

이클립스 콘솔에는 아래와 같은 값이 나오며 결과적으로 링크드리스트 출력은 3하고 10이 됩니다. 왜이렇게 계속 2개의 값만 나오는지 이해가 안됩니다 

loc == null
-1
cmp < 0
1
cmp > 0
3
10


작은 도움이라도 힌트라도 도움주시면 감사하겠습니다.

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호