Java冒泡排序
冒泡排序
冒泡排序,两层循环,外层冒泡轮数,里层依次比较。
1.比较数组中两相邻元素,若第一个数大于(小于)后一个数则交换位置
2.每做一次比较就会得出一个最大(最小)的数,则下一轮可以减少一次排序
3.依次循环直到结束
冒泡排序示例:
public static void main(String[] args) {
int[] array = {22,31,1,24,456,34,21,2,4,67,65,25,5,9,11};
sort(array);
System.out.println(Arrays.toString(array));
}
private static void sort(int[] array) {
int temp = 0;
for (int i = 0; i < array.length-1; i++) {
boolean flag = false; // 减少无用排序,若此轮未排序则证明排序完成,无需进行剩余排序直接跳出循环
for (int j = 0; j < array.length-1-i; j++) {
if (array[j] > array[j+1]) {
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
flag = true;
}
}
if (!flag) {
break;
}
}
}

浙公网安备 33010602011771号