【发布时间】:2013-09-04 21:04:20
【问题描述】:
我正在尝试利用暑假来练习更多的 Java,通过学习如何编写算法来变得更好。我有这个问题,我将元素添加到我的 ArrayList 但不知何故,我添加的第一个数字也设置了我想要避免的列表中的位置数。我只希望第 0 个索引包含数字 5。我似乎不知道如何解决这个问题。
public class Algorithms {
private ArrayList<Integer> numbers;
public Algorithms() {
numbers = new ArrayList<Integer>();
numbers.add(5);
numbers.add(4);
bubblesort();
}
public static void main(String args[]) {
new Algorithms();
}
public void bubblesort() {
System.out.println(numbers);
for (int a = 0; a < numbers.size();) {
for (int b = 1; b < numbers.size();) {
int currentNumber = numbers.get(a);
if (currentNumber > numbers.get(b)) {
//Collections.swap(numbers, currentNumber, numbers.get(b));
numbers.set(numbers.get(a), numbers.get(b));
numbers.set(numbers.get(b), numbers.get(a));
a++;
b++;
} else if (currentNumber < numbers.get(b)) {
a++;
b++;
}
System.out.println(numbers);
}
}
}
}
【问题讨论】:
-
你认为
numbers.set(numbers.get(a), numbers.get(b));应该做什么?你看过ArrayListAPI 吗?
标签: java algorithm arraylist bubble-sort