내 알고리즘이 작동합니다 ... 거의 ... 어떤 이유로 정렬 후 마지막 두 요소의 순서가 잘못되었습니다. 또한 print 문에 first
이 오른쪽으로 이동한다는 것을 표시하지 않습니다.단일 선택 목록에 선택 정렬
public static SLL sort(SLL list)
{
SLLNode first = list.first ;
SLLNode second ;
while (first!=null)
{
System.out.println(first.data); // for seeing if first does move to the right
second = first.succ ;
while (second!=null)
{
if (second.data.compareTo(first.data)<0)
{
String temp = first.data ;
first.data = second.data ;
second.data = temp ;
}
second = second.succ ;
}
first = first.succ ;
}
return list ;
}
정렬하기 전에 : FFF fff Hi AAA Bye Ciao
정렬 후 : AAA Bye Ciao FFF Hi fff
내 인쇄 문을 출력 한 후 처음 FFF
만 fff
의
비교 문자열 만 계획하는 경우'compareToIgnoreCase'를 사용하십시오. 또는,'System.String.Compare (stringA, stringB, true)'를 사용하면,'bool' 매개 변수는 대소 문자 구별 여부를 함수에 알려줍니다. – Darhuuk
@N 1.1, 감사합니다! print 문이 왜 내가 뭘 기대하지 않는지 아는 어떤 생각? – raoulbia