冒泡排序(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] + ",");
		}

	}