JavaScript-冒泡排序

排序  按顺序排列  从小到大,或者从大到小
算法--->排序算法
 时间复杂度和空间复杂度
O(1)  O(n) O(n log n)
时间复杂度   算法计算花费时间  花时间越少时间复杂度越小  
空间复杂度   算法计算需要花费堆栈空间(内存)越多代表空间复杂度越高
 
冒泡:

前后两个数进行比较,如果符合交换条件,
交换位置。直到所有数据排序完成,结束比较。

 1 var arr=[4,1,7,2];
 2 function sorts(arr){
 3      var len=arr.length-1;
 4      for(var i=0;i<len;i++){
 5          for(var j=0;j<len-i;j++){
 6              if(arr[j]>arr[j+1]){
 7              // if(arr[j+1]-arr[j]<0)
 8                 var temp=arr[j+1];
 9                 arr[j+1]=arr[j];
10                 arr[j]=temp;
11          }
12       }
13    }
14 }
15 sorts(arr);
16 console.log(arr);
17 // i 的目的是做多少轮的 比较   j和j+1是前后数据比较
18 // var arr=[4,1,7,2];
19 //  i==0
20 //  arr[i]=4
21 // j=0  arr[j]=4   arr[j+1]=1    4,1,7,2---->1,4,7,2  
22 // j=1  arr[j]=4  1,4,7,2--->1,4,7,2
23 // j=2  arr[j]=7  1,4,7,2--->1,4,2,7
24 //#### j=3  arr[j]=7 arr[j+1]不存在   因为j+1超过数组的长度,所以j必须是长度-1       
25 // i==1;
26 // j==0 arr[j]=1    1,4,2,7--->1,4,2,7
27 // j==1 arr[j]=4    1,4,2,7--->1,2,4,7
28 // ###j==2  上面一次循环中放在最后的是最大的,所以不需要循环到2
29 //  i==2;
30 // j=0  arr[j]=1    1,2,4,7-->1,2,4,7

 

posted @ 2020-04-25 15:08  Codermoon  阅读(135)  评论(0)    收藏  举报