【案例3-3】按从大到小排序
一、案例描述
- 考核知识点
冒泡排序
- 练习目标
- 掌握冒泡排序的原理。
- 掌握for循环的应用。
- 需求分析
给出一组数,按照从大到小进行冒泡排序,从大到小序列输出。
- 案例分析
- 效果如图3-3所示。
- 从大到小排序
- 具体实现步骤如下:
- 定义数组arr,里边存放8个元素。
- 采用冒泡排序(共循环8-1次)
- 第一轮是比较7次 结果:(70 67 49 35 59 98 100 20)。
- 第二轮是比较6次 结果:(70 67 49 59 98 100 35 20)。
- 第三轮是比较5次 结果:(70 67 59 98 100 49 35 20)。
- 第四轮是比较4次 结果:(70 67 98 100 59 49 35 20)。
- 第五轮是比较3次 结果:(70 98 100 67 59 49 35 20)。
- 第六轮是比较2次 结果:(98 100 70 67 59 49 35 20)。
- 第七轮是比较1次 结果:(100 98 70 67 59 49 35 20)。
二、案例实现
根据上面的分析,可以通过简单的JavaScript代码来实现这一效果,具体代码如下:
-
<!DOCTYPE html>
-
<html lang=”en”>
-
<head>
-
<meta charset=”UTF-8″>
-
<title>
从大到小排序
</title>
-
</head>
-
<body>
-
<script>
-
var arr = new Array(70,35,67,4,20,59,98,100);
-
var exchange = 0; //
中间交换变量
-
//
第一次
for
用来控制比较的轮数
,i
代表轮次
-
for(var i=1;i < arr.length;i++){
-
//
控制每轮比较几次的
-
for(var j=0;j < arr.length-i;j++){
-
if(arr[j] < arr[j+1]){
-
//
实现交换
-
exchange = arr[j];
-
arr[j]=arr[j+1];
-
arr[j+1]=exchange;
-
}
-
}
-
}
-
alert(arr)
-
alert(arr[0]); // 100
测试数组第一个元素是不是
100
-
alert(arr[7]); // 20
测试数组最后一个元素是不是
20
-
</script>
-
</body>
-
</html>
版权声明:本文为yw1990128原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。