【发布时间】:2014-06-25 07:50:57
【问题描述】:
我必须对包含客户购买频率的数组列表进行排序。所以我可以按升序或降序显示输出。但是,我不太确定我错过了什么,但它根本没有对元素进行排序。非常感谢任何 cmets 或反馈!
这是我目前所拥有的:
for(int i=0; i<customers.size(); i++)
{
for(int k= i+1; k <customers.size(); k++)
{
if((customers.get(k)).compareTo(customers.get(i)) < 0)
{
Customer temp = customers.get(i);
customers.set(i, customers.get(k));
customers.set(k,temp);
}
}
System.out.println(customers.get(i));
}
【问题讨论】:
-
我相信关键是
if((customers.get(k)).compareToIgnoreCase(customers.get(i)) < 0)。我建议您调试一下,看看它是否按预期工作。 -
您的代码甚至无效,正在编译 Java 代码。为什么不使用 Collections.sort() 而不是重新发明轮子?
-
另外,
int = k+1是int k = i+1对吗? -
int = k+1- 什么?这不可能是您的真实代码。向我们展示,如果不是您的真实代码,那么至少是您实际测试过的代码。 -
我需要为这个程序使用冒泡排序算法。
标签: java sorting arraylist bubble-sort