我有一个关于使用数组的冒泡排序的问题。这是一些示例代码:
public class SortArray
{
public static void main(String[] args)
{
int[] arr = {4,6,4,2,764,23,23};
sort(arr);
}
static void sort(int[] arr)
{
int k;
for(int i = 0; i < arr.length; i++)
{
for(int j = i; j < arr.length-1; j++)
{
if(arr[i] < arr[j+1])
{
k = arr[j+1];
arr[j+1] = arr[i];
arr[i] = k;
}
}
System.out.print(arr[i] + " ");
}
}
}
检查数组有两个循环,我知道第一个循环是遍历数组中的每个元素,但是第二个循环呢?为什么j
从开始i
,为什么它会增加到长度-1?
另外,我可以使用冒泡排序来排序ArrayList
吗?