每次和后面比较交换 将最大值交换到最后 进行n-1次循环
public static void main(String[] args)
{
//随机几个数
int[] arr = new int[10];
for(int i = 0; i < 10; i++)
{
arr[i] = (int)(Math.random() * 100);
}
//System.out.printf("arr sort before:" + Arrays.toString(arr) + "\r\n");
sort(arr);
//System.out.printf("arr sort after :" + Arrays.toString(arr));
}
//开始冒泡
private static void sort(int[] arr)
{
if(arr == null || arr.length == 0)
{
return;
}
int len = arr.length;
for(int i = 0; i < len - 1; i++)
{
for(int j = 0; j < len - 1-i; j++)
{
if(arr[j] > arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
//System.out.printf("arr sort time"+i+" :" + Arrays.toString(arr) + "\r\n");
}
}
输出