1. 程式人生 > 實用技巧 >Java時間膠囊-氣泡排序解析

Java時間膠囊-氣泡排序解析

		Scanner input = new Scanner(System.in);
		System.out.println("num1!");
		int num1 = input.nextInt();
		System.out.println("num2!");
		int num2 = input.nextInt();
		System.out.println("num3!");
		int num3 = input.nextInt();
		
		// 使用氣泡排序排列這三個數字 從小到大(氣泡排序是交換的值 值高者向後 值小者向前 所以最後輸出直接輸出num1~3(因為值高者已經交換到了最後)
		// 中間需要比三次(可一直假設下去(因為交換的是值 值小者一直在前方) 如果都是否定即num值一直未交換)
		// 這裡假設num1的值最大
		// )
		int temp = 0;
		if (num1 >= num2) {
			temp = num1;
			num1 = num2;
			num2 = temp;
		}//此時的num2是相對大值
		if (num1 >= num3) {
			temp = num1;
			num1 = num3;
			num3 = temp;
		}// 此時的num3是相對大的值 num1是最小值
		if (num2 > num3) {
			temp = num2;
			num2 = num3;
			num3 = temp;
		}// 兩個相對大值決定出最大值和中間值
		
		// 總結:1和2相比-->2 = 相對大值。1和3相比-->1 = 最小值。2和3是兩個相對大值相比後-->3 = 最大值,2 = 中間值
		
		System.out.println(num1 + "\t" + num2 + "\t" + num3);