【发布时间】:2019-07-05 08:40:35
【问题描述】:
我想在 ArrayList 中的特定位置添加一个整数值,但这样做之后它将最后一个元素推送到它的下一个索引,因为我正在进行排序,我不希望它发生。帮我写一段代码来使用 ArrayList 编写冒泡排序。
我的代码
void bubble_sorting(ArrayList<Integer> arr){
int swap;
for(int i=0;i<5-1;i++){
for(int j=0;j<5-i-1;j++){
if(arr.get(j)>arr.get(j+1)){
swap = arr.get(j);
arr.add(j,arr.get(j+1));
arr.add(j+1,swap);
}
}
}
}
并且在传递 ArrayList [23,54,67,4,5] 之后
我得到这个作为输出: [4、23、23、4、54、54、4、67、67、4、5]
【问题讨论】:
-
快速查看数组列表的 Javadoc 会对您有所帮助 - docs.oracle.com/javase/8/docs/api/java/util/…
-
我很确定
.add()是错误的。这插入一个元素,而不是替换它。阅读Java doc,我认为你想要的方法是.set()。 -
@markspace 谢谢你..很抱歉因为我的愚蠢打扰大家。