1
var a,b,c,swap;
2 a=+prompt();
3 b=+prompt();
4 c=+prompt();
5 //冒泡排序:最壞情況:比較n*(n-1)/2輪,以下是3個數比較,考慮最壞情況要比較3輪
6 if(a>b)
7 {
8 swap=a;//判斷表達式中:第一個值>第二個值:將第一個值賦予變量swap
9 a=b;
10 b=swap;
11 }
12 if(b>c)//判斷表達式中:第一個值>第二個值:將第一個值賦予變量swap
13 {
14 swap=b;
15 b=c;
16 c=swap;
17 }
18 if(a>b)//判斷表達式中:第一個值>第二個值:將第二個值賦予變量swap
19 {
20 swap=b;
21 b=a;
22 a=swap;
23 }
24 alert(a+","+b+","+c)
25 /*
26 怎樣分析上述的過程呢,先確定交換的是哪兩個變量:
27 以最壞情況來算:
28 一開始是:a b c
29 第一輪:b a c
30 第二輪:b c a
31 第三輪:c b a
32 可以看出,實際上:在最后,變量a、b、c分別存放著c、b、a
33
34 問:在寫代碼的時候要怎樣快速理解并書寫呢?
35 總結;
36 (1)if的判斷表達式寫的是進行順序的比較就行,不用思考變量的值
37 (2)總是要將比較的兩個值的前面的那一個值賦予給另一個用于交換的變量(除了最后一輪):例如上面的變量swap
注:上述僅供自己理解,不代表他(她)人的看法
38 */
本文題目:三個數排序
當前網址:
http://m.jcarcd.cn/article/dsojpee.html