所谓冒泡排序(数组中相邻元素进行比较),将数组int[] arr={12,,1,2,3},竖着看,元素12(泡泡)排序到最后(湖面)。数组的排序一般是升序排序的。
1 | 2 | 3 | 4 |
排序过程:
第一次比较
arr[0] arr[1]
arr[1] arr[2]
arr[2] arr[3]
已经产生最大值了,后面的不需要比较了。
第二次比较
arr[0] arr[1]
arr[1] arr[2]
第三次比较
arr[0] arr[1]
public class Demo {
public static void main(String[] args) {
int[] arr= {12,56,1,3,6,75,32,0};
bubbleSort(arr);
printArray(arr);
}
public static void bubbleSort(int[] arr) {
for(int i=0;i<arr.length-1;i++) {
for(int j=0;j<arr.length-i-1;j++) {
if(arr[j]>arr[j+1]) {
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
}
public static void printArray(int[] arr) {
System.out.print("[");
for(int i=0;i<arr.length;i++) {
if(i==arr.length-1) {
System.out.print(arr[i]+"]");
}else {
System.out.print(arr[i]+",");
}
}
System.out.println();
}
}