public static void mystery1(ArrayList<Integer> list) {
for (int i = list.size() - 1; i > 0; i--) {
if (list.get(i) < list.get(i - 1)) {
int element = list.get(i);
list.remove(i);
list.add(0, element);
}
}
System.out.println(list);
}
我正在尝试用给定的组来解决此方法的输出ArrayList values
。查看之后,我非常确定这段代码会重新定位列表前面的一对中较小的值。我使用了值的 ArrayList[2, 6, 1, 8]
输入,结果是[1, 2, 6, 8]
,正如我所料。但对于[30, 20, 10, 60, 50, 40]
它产生了[10, 30, 40, 20, 60, 50]
当我期待的时候[40,50,10,20,30,60]
。因此,任何人都可以向我解释一下这段代码实际上是如何处理的Arraylist
?谢谢!