我的算法工作...几乎......由于某种原因,排序后最后两个元素的顺序错误。此外,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
我的print语句首先输出FFF
,然后只输出fff
的
答案 0 :(得分:1)
因为大写字母的ascii值小于小写字母的值。
答案 1 :(得分:0)
Also, the print statement does not show me that first moves to the right. System.out.print(); // for seeing if first does move to the right
print()语句只显示任何内容。