冒泡排序的原理就是将最小的依次,冒泡到上面
原理图
int[] arr = { 1, 43, 2, 4, 53, 232, 44, 24, 54, 5, 6, 6, 231 };
先定义一个一维数组
将第一个最小的数与其他所有的数做比较如果小于该数就将位置交换
public class Test {
public static void main(String[] args) {
int[] arr = { 1, 43, 2, 4, 53, 232, 44, 24, 54, 5, 6, 6, 231 };
for (int i = 0; i < arr.length - 1; i++) {//循环次数是arr.length - 1,应为是第一个数与其他做比较,所有不包含第一数的次数
int t;
if (arr[i] < arr[i + 1]) {
t = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = t;
}
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
执行结果如图,只排序好一位
需要依次排序好所有的数字,所以需要在外面有有for循环
public class Test {
public static void main(String[] args) {
int[] arr = { 1, 43, 2, 4, 53, 232, 44, 24, 54, 5, 6, 6, 231 };
for (int j = 0; j < arr.length - 1; j++) {
for (int i = 0; i < arr.length - 1-j; i++) {
int t;
if (arr[i] < arr[i + 1]) {
t = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = t;
}
}
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
运行结果