zoukankan      html  css  js  c++  java
  • 冒泡排序

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
    <script>
    
        //求一组数中的所有数的和 和平均值
    /*    var arr = [10,20,30,10];
        var len = arr.length;
        var sum = arr[0];
        var avg;
        for(var i =1;i<len;i++){
            sum += arr[i];
        }
        avg = sum/len;
        console.log(sum+"/"+len);
        console.log(avg);*/
    /*    var arr = [11,2,31,1,4,134,1,41,42,131,434];
        var sum = arr[0];//获取到数组第一个索引的值
        var avg;
        for(var i=1;i<arr.length;i++){//因数组中第一个值已被取出 所以直接从索引为1开始 因此i=1;
            sum += arr[i];//求数组中元素的和
        }
        avg = sum/arr.length;//除以数组的长度 求取平均值
        console.log(sum+"/"+arr.length);
        console.log(avg);*/
        //求一组数中的最大值和最小值,以及所在位置
     /*   var arr = [1,2,4,5,6];
        var max = arr[0];//先取出索引为0的值 之后用于与后面的值比较
        var maxIndex = 0;//因max 赋值为索引为0的值 索引定义最大值得变量开始值也为0
        var min = arr[0];//先取出索引为0的值 之后用于与后面的值比较
        var minIndex = 0;//因min 赋值为索引为0的值 索引定义最大值得变量开始值也为0
        for(var i =0;i<arr.length;i++){//因数组第一个值已被取出  所以从1开始
            //(最大值)判断当max值小于arr[i]时,将arr[i]赋值给max 索引值等于i
            if(max<arr[i]){
                max = arr[i];
                maxIndex = i;
            }
            //(最小值)
            if(min>arr[i]){
                min = arr[i];
                minIndex = i;
            }
    
        }
       /!* console.log("最大值"+max);
        console.log("最大值索引"+maxIndex);
        console.log('最小值'+min);
        console.log('最小值索引'+minIndex);
    *!/
        console.log("最大值"+max);
        console.log("最大值索引"+maxIndex);
        console.log("最小值"+min);
        console.log("最小值索引"+minIndex);*/
        //将字符串数组用|或其他符号分割
    /*    var arr = ["流水","蜻蜓","浮云"];
        var str = arr[0];
        var part = '|';
        for(var i =1;i<arr.length;i++){
            str+=part+arr[i];
        }
        console.log(str);*/
    /*    var arr = ['数','时刻是经典款','随便'];
        var str = arr[0];
        var part = '❤';
        for(var i =1;i<arr.length;i++){
            str += part + arr[i];
        }
        console.log(str);*/
        //将数组中值为0的去掉,不为0的存入新数组
    /*    var arr =  ["我的",0,0,0,"他的",1,2,3,0,"谁的"];
      /!*  alert(arr);
        alert(arr.length);*!/
        var newArr = [];
        for(var i=0;i<arr.length;i++){
            if(arr[i]!=0){
                newArr[newArr.length] = arr[i];
            }
        }
        console.log(newArr);*/
    /*    var arr =  ["我的",0,0,0,"他的",1,2,3,0,"谁的"];
        var newArr = [];
        for(var i=0;i<arr.length;i++){
            if(arr[i]!=0){
                newArr[newArr.length] = arr[i];
            }
        }
        console.log(newArr);*/
        /*
        var arr = [1,2,4,23,4,9,5,8,3,0,39,0];
        var newArr = [];
        for(var i =0;i<arr.length;i++){
            if(arr[i]!=0){
                newArr[newArr.length] = arr[i];
            }
        }
        console.log(newArr);*/
        //翻转数组
    /*    var arr = [1,2,4,23,4,9,5,8,3,0,39,0];
        console.log(arr);
        var newArr = [];
        for(var i = arr.length-1;i>=0;i--){
            newArr[newArr.length] = arr[i];
        }
        console.log(newArr);*/
        //冒泡排序,从小到大
      /*  var arr = [1,2,4,23,4,9,5,8,3,0,39,0];
        console.log(arr);
        var m = 0;
        var n = 0;
        //比较的轮数
        for(var i=0;i<arr.length-1;i++){
            //控制比较结束之后直接跳轮数的开关
            var onOff = true;
            //比较的次数循环,且每轮循环之后都会有元素不再比较所以减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;
                        //默认执行继续
                        onOff = false;
                }
                n++;
            }
            m++;
            if(onOff){
                break;
            }
        }
        console.log(arr);*/
        var arr = [1,2,345,3,25,56,77,89,990,0];//定义一个数组
        console.log(arr);
        var m = 0;//比较次数的轮数
        var n = 0;//比较的次数
        //第一次循环控制比较次的轮数
        for(var i =0;i<arr.length-1;i++){
            //定义一个开关 控制比较次数的判断不再执行时跳数比较循环
            var onOff = true;
            //定义比较次数的循环
            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;
                        //开关为false 比较继续
                        onOff = false;
                }
                n++;//比较次数自增
            }
            m++;//比较轮数自增
            if(onOff){
                break;
            }
        }
        console.log("轮数"+m);
        console.log("次数"+n);
        console.log(arr);
    
    
    </script>
    </body>
    </html>
  • 相关阅读:
    React跨域问题解决
    PBFT性能会下降? 各种算法的对比。
    ssl证书原理
    UTXO是什么?
    以太访solidity常用的函数有哪些
    ERC720和erc721的区别
    椭圆曲线加密和rsa对比
    将pdf书籍变成横排的方法
    童年回忆(1)
    Inheritance
  • 原文地址:https://www.cnblogs.com/lcf1314/p/5551282.html
Copyright © 2011-2022 走看看