Java数组的冒泡排序
下面先声明一个数组——————这里为int型
int[] arr = new int[]{43,32,76,-98,0,64,33,-21,32,99};
进行数组的遍历看一下 我们数组的具体元素
for(int i =0;i<arr.length;i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
遍历结果
进入循环
for(int i = 0;i<arr.length-1;i++) {
for(int j = 0;j<arr.length-1-i;j++) {
if(arr[j]>arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
下面进行讲解
for(int i = 0;i<arr.length-1;i++)
外循环为↑↑↑
//排序次数为 (长度-1) 10个数就是 需要循环9次
for(int j = 0;j<arr.length-1-i;j++)
内循环为↑↑↑
//每次循环都会减少i次排序 第3论的时候 (总长度 -1 在-2) 剩余5次
具体代码的实现
public class BubbleSortTest {
public static void main(String[] args) {
int[] arr = new int[]{43,32,76,-98,0,64,33,-21,32,99};
for(int i =0;i<arr.length;i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
for(int i = 0;i<arr.length-1;i++) {
for(int j = 0;j<arr.length-1-i;j++) {
if(arr[j]>arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for(int i =0;i<arr.length;i++) {
System.out.print(arr[i]+" ");
}
}
}