js冒泡排序

来源:互联网 发布:淘宝复刻wtaps的鲁总 编辑:程序博客网 时间:2024/06/05 23:51

说明

  • 时间复杂度指的是一个算法执行所耗费的时间
  • 空间复杂度指运行完一个程序所需内存的大小
  • 稳定指,如果a=b,a在b的前面,排序后a仍然在b的前面
  • 不稳定指,如果a=b,a在b的前面,排序后可能会交换位置

JS冒泡排序

原理

依次比较相邻的两个值,如果后面的比前面的小,则将小的元素排到前面。依照这个规则进行多次并且递减的迭代,直到顺序正确。

时间复杂度,空间复杂度,稳定性

  • 平均时间复杂度O(n*n)
  • 最好情况O(n)
  • 最差情况O(n*n)
  • 空间复杂度O(1)
  • 稳定性:稳定

<script type="text/javascript">

        //冒泡排序后变成升序排序

        //原理:比较相邻的元素。如果第一个比第二个大,就交换他们两个。



冒泡排序的写法


    var arr = [1,14,7,20,35,11,4];
    function BubbleSort(arr){
        for(var i = 0;i<arr.length-1;i++){
            for(var j = 0;j<arr.length-1-i;j++){
                if(arr[j]>arr[j+1]){
                    var temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        return arr;
    }
    BubbleSort(arr);
    console.log(arr);
0 0
原创粉丝点击