冒泡排序
理解:在一个数组中,两两进行比较,当前一个数大于后一个数时,两者交换位置。
我们可以通过图示可以知道:
每一轮会把数组中最大的数交换到最后面,知道排序成功。
要进行比较(数组的长度-1)轮,每一轮比较的次数是(数组的长度-1-已经排好的个数)
下面我们来看代码的实现:
public class Sort {
public static void main(String[] args) {
int[] arrays = {87, 54, 43, 32, 98, 23, 21, 67, 12};
bubble(arrays);
}
/**
* 冒泡排序
*/
public static void bubble(int[] arrays) {
int temp;
for (int i = 0; i < arrays.length - 1; i++) {
for (int j = 0; j < arrays.length - 1 - i; j++) {
if (arrays[j] > arrays[j + 1]) {
temp = arrays[j];
arrays[j] = arrays[j + 1];
arrays[j + 1] = temp;
}
}
System.out.println(Arrays.toString(arrays));
}
}
}
如有不当,请指出!