js中的选择排序和冒泡排序

var arr = [12,25,8,16,14];
        console.log("排序前数组,",arr)
        
        //选择排序:第一轮,找出数组中最小的数,将第一项和最小的数互换位置。第二轮找到除第一项最小的数,和第二项互换位置,依次类推
        //封装选择排序的函数
        function selectSort(arr){
            for (var i = 0; i < arr.length-1; i++) {
                for (var j = i+1; j < arr.length; j++) {
                    if(arr[i] > arr[j]){
                        var temp = arr[i];
                        arr[i] = arr[j];
                        arr[j] = temp;
                    }
                }
            }
            return arr;
        }
        
        console.log("排序后数组,",bub(arr))
        
        //冒泡排序:数组,前一项和后一项比较,前一项大,前一项和后一项交换位置。反之不变。依次往下比。直到最大的数跑到最右边,然后进行第二轮比较。
        //封装冒泡排序的函数
        function BubbleSort(arr){
            for(var i = 0; i < arr.length; i++){//第一层寻交换控制比较多少轮
                for(var j = 0; j < arr.length - 1 - i; i++){//第二层循环用于每一轮的比较
                    if(arr[j] > arr[j+1]){
                        var temp = arr[j];
                        arr[j] = arr[j+1];
                        arr[j+1] = temp;
                    }
                }
                console.log("每一轮比较后结果",arr)
            }
        }

 


 

 

posted @ 2018-08-27 17:51  乱了夏天蓝了海  阅读(337)  评论(0编辑  收藏  举报