比较相邻两个数的大小,并判断是否进行交换。
每次都会将最大的数排在最后(本文进行的正序排序),因此在每次循环后,循环的个数都会减一。
int[] arr = {6, 3333, 2, 3, 54, 11, 22};
//冒泡排序算法
int temp;
for (int i = 1; i < arr.length; i++) {
boolean flag = true; //判断前面的是否已经排好顺序
for (int j = 0; j < arr.length - i; j++) {
//判断大小
if (arr[j] > arr[j + 1]) {
temp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = temp;
flag = false;
}
}
if (flag) {
break;
}
}