美文网首页
js冒泡排序和选择排序

js冒泡排序和选择排序

作者: 丶灰太狼他叔 | 来源:发表于2018-04-09 23:37 被阅读12次

    1、冒泡排序

    普通写法:

    var arr = [1,5,7,3,-5,7,9];
        //7个数  比较6轮
        // 第0轮  6
        //   1    5
        //   2    4
        //   3    3
        //   4    2
        //   5    1
    
        for(var i= 0;i < arr.length-1;i++){  //外层循环控制轮数  6
            for(var j = 0;j<arr.length-1-i;j++){
                if(arr[j]<arr[j+1]){
                    var temp = arr[j+1];
                    arr[j+1] = arr[j];
                    arr[j] = temp;
                }
            }
            console.log(arr[j],'========',j);
        }
        console.log(arr[0]);//9
    

    利用prototype写法:

    Array.prototype.arrSort = function(){  
        for(var i = 0;i<this.length-1;i++){  
            for(var j = 0;j<this.length-i-1;j++){  
                if(this[j]>this[j+1]){  
                    var temp;  
                    temp = this[j+1];  
                    this[j+1] = this[j];  
                    this[j] = temp;  
                 }  
            }  
        }  
        return this;  
    }  
    var arr = new Array(1,35,4,121,6,14,8,58);  
    arr.arrSort()  
    console.log(arr); 
    

    这种排序方式就是一个拿出来一个最大值或最小值,然后剩下的再去比较。所以称之为冒泡排序

    2、选择排序

    function selectSort(arr) {
                var len = arr.length;
                var temp;
                for (var i = 0; i < len - 1; i++) {
                    for (var j = i + 1; j < len; j++) {
                        if (arr[j] < arr[i]) {
                            temp = arr[j];
                            arr[j] = arr[i];
                            arr[i] = temp;
                        }
                    }
                    i++;
                }
                return arr;
            }
    

    选择排序是把每一个数都和第一个数作比较,如果比第一个数小就互换位置。重复n-1轮就实现了选择排序

    相关文章

      网友评论

          本文标题:js冒泡排序和选择排序

          本文链接:https://www.haomeiwen.com/subject/ghwwhftx.html