三个数排序
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://myzitong.com/article/dsojpee.html