Java冒泡排序
动态图:
如上图:每一个数字都会有一次大循环(依次和之后的数字进行比较),如果下一个数字大则交换位置,如此循环比较
public static void main(String[] args) {
int[] arr = {5,2,63,1,632,67,45,6,32};
//大的循环总计要比较 arr.length-1 次
for (int i = arr.length-1 ; i>0 ; i--){
//一次大循环中会经历多个小循环才会最终找出最大的值排到最后面,所以是 j < i
for (int j =0 ; j<i ; j++){
//比较值大小,如果当前元素大于下一个元素,则交换位置
if (arr[j] > arr[j+1]){
//交换元素位置
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
//通过增强for循环输出排序好数字
for (int i : arr) {
System.out.print(i+" ");
}
}