冒泡排序(Bubble Sort)
①、基本思想:两个数比较大小,如果前一个数较大,就交换。如果后一个数较大,就保持原样。
②、算法描述:
1. 比较相邻的元素。如果第一个比第二个大,就交换它们两个;
2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数;
3.针对所有的元素重复以上的步骤,除了最后一个;
4.重复步骤1~3,直到排序完成。
③、代码实现
public static void main(String[] args) {
// 定义一个长度为十的数组
int[] arr = new int[10];
Scanner input = new Scanner(System.in);
// 获取输入的数来对数组进行赋值
for (int i = 0; i < arr.length; i++) {
System.out.println("请输入第" + (i+1) + "个数");
arr[i] = input.nextInt();
}
input.close();
// 定义一个变量changeNum为了后面对值进行交换做中间变量
int changeNum = 0;
// 第一层循环,这里是为了遍历每一个数组内的值
for (int i = 0; i < arr.length; i++) {
// 这里是为了将比较过了的值剔除
for (int j = 0; j < arr.length - 1 - i; j++) {
// 这里是判断语句,如果比较得到下一个的值比这一个值更大,那么就交换。
if (arr[j] > arr[j + 1]) {
changeNum = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = changeNum;
}
}
}
// 在这里输出更新后的数组,检查是否成功
System.out.print("更新后的数组为:");
for (int m = 0; m < arr.length; m++) {
System.out.print(arr[m] + ",");
}
}
















