今天,我们来谈,什么是冒泡排序?
顾名思义,冒泡,就像水中的气泡一样,从底往上越来越大,很明显就是一个从小到大的排序过程。
首先,我们给定一个数组int [] arr = {12,60,54,96,36};
思路如下:
通过两者比较,比如将 12和60进行比较,显然12 < 60,则不交换位置,而60和54进行比较,60>54,则进行交换,以此类推,需要比较4次,才能将最大的数放到数组的最后面,而第二大的数放到倒数第二个位置,又需要进行比较,这里我们要用到双层循环,才能得到最终的数组
代码实现如下:
public class BubbleSort {
public static void main(String[] args) {
//定义一个数组
int [] arr = {12,60,54,96,36};
int temp = 0;//temp用于临时存放要交换的数据
//仅需比较4次就能最终确认排序序列,所以是length-1
for(int i = 0;i < arr.length-1;i++){
//5个数,需要比较4次,所以是arr.length-1
for(int j = 0;j < arr.length-1-i;j++){
if(arr[j] > arr[j+1]){ //如果前面的数大于后面的数
temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
//遍历输出
System.out.println("排序后的数组为");
for(int j = 0;j < arr.length-1;j++){
System.out.print(arr[j]+" ");
}
}
}