1 <!DOCTYPE html>
2 <html>
3 <head lang="en">
4 <meta charset="UTF-8">
5 <title></title>
6 </head>
7 <body>
8 <script>
9
10 var arr = [7,6,5,4,3,2,1];
11 //需求:冒泡排序。
12 //理论:1.比较轮数n-1。 2.比较次数n-1。 3.符合某个条件交换位置。
13 //核心:双重for循环。
14 //步骤:
15 //1.双重for循环。
16 //2.指定轮数和次数
17 //3.判断是否符合标准。如果符合标准交换位置。
18 console.log(arr);
19
20 //每轮比较少比较一次。(每一轮都会比较出一个最大值,然后后一轮没有必要再比较了,所以没比较一轮,就少比较一次。。。)
21 var m = 0;
22 var n = 0;
23
24
25 //1.双重for循环。(外循环控制轮数)
26 for(var i=0;i<arr.length-1;i++){
27 //2.指定轮数和次数(内循环控制次数)
28 for(var j=0;j<arr.length-1-i;j++){
29 //3.判断是否符合标准。如果符合标准交换位置。
30 //从小到大排列顺滑,如果前面的比后面的大,那么交换位置。
31 if(arr[j] > arr[j+1]){
32 var temp = arr[j];
33 arr[j] = arr[j+1];
34 arr[j+1] = temp;
35 }
36 m++;
37 }
38 n++;
39 }
40
41 console.log(arr);
42 console.log(m);
43 console.log(n);
44
45
46
47
48 </script>
49 </body>
50 </html>