冒泡排序的原理
进行升序:
每相邻的两个数进行比较,前者大于后者就交换位置,
否则位置不变,n个数据就比较n-1轮,每轮的次数是:n-轮数
eg:
对 23,12,34,6,57 进行冒泡排序
比较4轮
第一轮:12、23、6、34、57(比较n-1次)
第二轮:12、6、23、34、57(比较n-2次)
第三轮:6、12、23、34、57(比较n-3次)
第四轮:6、12、23、34、57(比较n-4次)
代码实现
public class Bubble_Sort {
public static void main(String[] args) {
int[] data = new int[]{23,12,34,6,57};
bubbleSort(data);
}
private static void bubbleSort(int[] data) {
//控制比较轮数i,i=(n-1)轮
for (int i=0; i < data.length-1; i++) {
//控制每一轮比较次数j,j=(n-i)次
for (int j = 0; j < data.length-1-i; j++) {
//如果前者大于后者,就交换位置
if (data[j] > data[j + 1]) {
int temp = data[j];
data[j] = data[j + 1];
data[j + 1] = temp;
}
}
}
//打印数组
System.out.println("冒泡后的数组为:");
for (int num : data) {
System.out.print(num + "、");
}
}
}