мой алгоритм работает ... почти ... по какой-то причине последние два элемента находятся в неправильном порядке после сортировки.Кроме того, оператор 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