【发布时间】:2020-10-26 00:33:19
【问题描述】:
您好,我正在编写按字母顺序对数组列表进行排序的代码,但是我编写的代码以相反的字母顺序返回。有谁明白为什么??我似乎无法弄清楚,我是初学者程序员,将不胜感激!
public class InsertionSorting {
public static void main(String[] args) {
ArrayList<String> color = new ArrayList<String>(5);
color.add("White");
color.add("Black");
color.add("Red");
color.add("White");
color.add("Yellow");
for (int i = 0; i < 5; i++) {
System.out.println(color.get(i).toString());
}
System.out.println();
insertionSort(color);
for (int i = 0; i < 5; i++) {
System.out.println(color.get(i).toString());
}
}
public static ArrayList<String>
insertionSort(ArrayList<String> a) {
for (int i = 1; i < a.size(); i++) {
String s = a.get(i);
int j = i - 1;
while (j >= 0 && s.compareTo(a.get(j)) > 0) {
String y = a.get(j + 1);
a.set(j + 1, a.get(j));
a.set(j, y);
j--;
}
String y = a.get(j + 1);
y = s;
}
return a;
}
}
【问题讨论】:
标签: java sorting arraylist insertion-sort