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
吗?谢谢!
这是逐步发生的情况:
结果是:[10,30,40,20,60,50]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句