zoukankan      html  css  js  c++  java
  • 把一个数组按照从小到大的顺序排列

    arr = [ 13,15,6,2,12,41,38,32 ];
    var e = 0;
         for ( var i = 0 ; i < arr.length ; i++ ){
               for ( var j = 0 ; j < arr.length ; j++ ){
                  if ( arr [ j ] > arr [ j +1 ]){
                        arr [ j ] = arr [ j ] ^ arr [ j + 1 ];
                        arr [ j + 1 ] = arr [ j ] ^ arr [ j + 1 ];
                        arr [ j ] = arr [ j ] ^ arr [ j + 1 ];
                     };
                };
            };
    console.log ( arr );

    利用双for循环,当 i = 0 时,第二个for循环会依次比较相邻的两个元素,

    如果前面一个元素大于后面一个元素就会把前面一个元素跟后面一个元素对调,

    对调的方式有很多总,这里利用的是亦或 ( ^ ) 。

    当第二个for循环第一次循环结束后,整个数组的最大元素就会被移动到最后一位。

    然后第一个for循环循环第二次,然后再进行一次排序,就会让数组第二大的元素排到

    倒数第二取。如此循环下去当第一个for循环结束时,整个数组就按照从小到大的顺序排好了。

    你好!如果你有什么更好的建议或意见,请在评论区留言。感谢你的阅读!
  • 相关阅读:
    npm常用命令
    关于事件委托和时间冒泡(以及apply和call的事项)
    js 杂记
    angular中关于ng-repeat的性能问题
    关于日期的一些东西
    杂记
    angular中关于自定义指令——repeat渲染完成后执行动作
    angular中事件戳转日期的格式
    ES6-promise
    angular中ng-class的一些用法
  • 原文地址:https://www.cnblogs.com/YCxiaoyang/p/7133214.html
Copyright © 2011-2022 走看看