JS排序算法(看完就会)

排序算法是js最基础的算法,只要弄清楚各种排序算法的排序逻辑,要实现起来就不难了。下面就介绍两种最常见的算法——冒泡和排序。

冒泡排序


冒泡排序的思想就是从左到右依次比较数组a相邻的两个数,将较大的数放到后面,一轮比较之后,最大的数会排到最后面;第二轮比较后次大的数会在倒数第二的位置,直到进行a.length次比较后,数组就会升序排列。

 <script>
       function code(group){
        
        // 冒泡排序

        for(i=0;i<arguments.length-1;i++){
            for(j=0;j<arguments.length-i-1;j++){
                // console.log(i,j);
                if(arguments[j]>arguments[j+1]){  //相邻元素两两对比
                //    console.log(i,j);
                    //元素交换
                    [arguments[j],arguments[j+1]] = [arguments[j+1],arguments[j]]


                }
            }
        }

        console.log(arguments);
   }
         
       
       code(5,1,2,7,4,8,6,3);

    </script>

如果你对代码理解的不是很清楚 这边我给你一个动态图片地址 让你理解更深点
动态图片


选择排序

选择排序的思想是每次从数组中选出一个最小数放到数组最前面,第二次选择剩余数里最大的放到数组第二位,直到所有的数都被选择完

<script>
	// 从大到小排序
       function code(group){
for(var i=0;i<arguments.length-1;i++){
                var max = i;
                for(var j=i+1;j<arguments.length;j++){
                console.log(i,j)
                if(arguments[max]<arguments[j]){//寻找最大的数
                    max = j 			//将最大数的索引保存
                }

            }
                var temp = arguments[i];
                arguments[i] = arguments[max];
                arguments[max] = temp;

            }   
}
            console.log(arguments)
            </script>

这边也给你一个动态图片让你作为理解
动态图片


总结

这两种算法都是比较简单的算法,但越简单越不能大意或者小瞧它,其实有很多的地方都用到了这两种算法的思想,希望大家能对这两种算法有不一样的看待。如果你有其他的理解可以再下面评论说明,大家一起交流交流。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值