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