int[] array = {5, 1, 2, 4};
boolean hasSwap;
for (int i = 1; i < array.length; i ++) {
hasSwap = false;
for (int j = 0; j < array.length - i; j++) {
if (array[j] > array[j + 1]) {
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
hasSwap = true;
}
}
if (hasSwap == false){
break;
}
}
for(int i: array) {
System.out.println(i);
}
冒泡排序是最常见的排序方法之一,面试中经常被问到的算法,基本思想就是比较相邻两个数的大小,如果前者大于后者就交换彼此位置。完成一次循环最大的数就冒了出来,然后在剩余的元素中找出最大的,依次类推直到只剩一个元素为止,就得到了最终的排序结果。循环过程中如果没有出现元素交换,则整个数组就是已排序好的,跳出循环。