javascript冒泡排序小结
来源: 阅读:666 次 日期:2016-07-08 14:00:52
温馨提示: 小编为您整理了“javascript冒泡排序小结”,方便广大网友查阅!

冒泡排序示例,双向冒泡排序与对双向冒泡排序稍微的改进的可视化效果。

代码很简单,不知道有木有未知bug。

冒泡排序示例

var ls=[ 98,13,6,25,38,36,30,44,38,80,61,28,47,34,95,18,85,58,89,85,42,61,74,35,13,14,80,7,10,44,10,47,13,11,52,25,24,48,34,12,88,80,33,8,80,45,64,52,79,77 ];

for(var i=0;i<ls.length;i++){

      for(var j=i+1;j<ls.length;j++){

        if(ls[i]>ls[j]){

          ls[i]=ls[i]+ls[j];

          ls[j]=ls[i]-ls[j];

          ls[i]=ls[i]-ls[j];

        } 

      }

    }

双向冒泡排序示例

var ls=[ 6,13,98,25,38,36,30,44,38,80,61,28,47,34,95,18,85,58,89,85,42,61,74,35,13,14,80,7,10,44,10,47,13,11,52,25,24,48,34,12,88,80,33,8,80,45,64,52,79,77 ];

for(var i=0;i<ls.length;i++){

      for(var j=i+1;j<ls.length-i;j++){

        if(ls[lent-1-i]<ls[lent-j]){

          ls[lent-1-i]=ls[lent-1-i]+ls[lent-j];

          ls[lent-j]=ls[lent-1-i]-ls[lent-j];

          ls[lent-1-i]=ls[lent-1-i]-ls[lent-j];

        }//后面的比较

        if(ls[i]>ls[j]){

          ls[i]=ls[i]+ls[j];

          ls[j]=ls[i]-ls[j];

          ls[i]=ls[i]-ls[j];

        }//前面的比较

      }

    }

双向冒泡排序稍微改进示例

var ls=[ 98,13,6,25,38,36,30,44,38,80,61,28,47,34,95,18,85,58,89,85,42,61,74,35,13,14,80,7,10,44,10,47,13,11,52,25,24,48,34,12,88,80,33,8,80,45,64,52,79,77 ];

var lent=ls.length;

for(var i=0;i<ls.length;i++){

      for(var j=i*2;j<ls.length-2*i;j++){

        if(ls[i*2]>ls[j+1]){

          ls[i*2]=ls[i*2]+ls[j+1];

          ls[j+1]=ls[i*2]-ls[j+1];

          ls[i*2]=ls[i*2]-ls[j+1];

        }//保持内层第一个数为循环最小

        if(ls[lent-i*2-1]<ls[lent-j-1]){

          ls[lent-i*2-1]=ls[lent-i*2-1]+ls[lent-j-1];

          ls[lent-j-1]=ls[lent-i*2-1]-ls[lent-j-1];

          ls[lent-i*2-1]=ls[lent-i*2-1]-ls[lent-j-1];

        }////保持内层倒数第一个数为循环最大

          if(ls[lent-2-i*2]<ls[lent-j-1]){

            ls[lent-2-i*2]=ls[lent-2-i*2]+ls[lent-j-1];

            ls[lent-j-1]=ls[lent-2-i*2]-ls[lent-j-1];

            ls[lent-2-i*2]=ls[lent-2-i*2]-ls[lent-j-1];

          }//倒数上一个

            

          if(ls[i*2+1]>ls[j+1]){

            ls[i*2+1]=ls[i*2+1]+ls[j+1];

            ls[j+1]=ls[i*2+1]-ls[j+1];

            ls[i*2+1]=ls[i*2+1]-ls[j+1];

          }//下一个

      }

}

更多信息请查看网络编程
手机网站地址:javascript冒泡排序小结
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map