解析javascript中排序法如何进行

解析javascript中排序法如何进行

快速排序法

从小到大排序例题:Arr=[2,1,4,6,7];

var arr=[2,1,4,6,7];
for(var i=0;i<arr.length;i++){
    for(j=i+1;j<arr.length;j++){
        if(arr[i]>arr[j]){
            vartemp=arr[i];
            arr[i]=arr[j];
            arr[j]=temp;
        }
    }
}document.write(arr);

这个排序主要是用数组位置来排序的,最小的排到下标最小的位置,外面循环控制循环的趟次,里面的循环完成称作一趟,定义两个数字,设i或j,循环一趟确定一个位置,循环数组的长度次,即排完了序。

冒泡法:

从小到大排序例题:arr[3,1,3,2,1];

var arr=[3,1,3,2,1];
for(var i=0;i<arr.length;i++){
    for(var j=0;j<arr.length-1-i;j++){
        if(arr[j]>arr[j+1]){
            vartemp=arr[j];
            arr[j]=arr[j+1];
            arr[j+1]=temp;
        }
    }
}document.write(arr);

冒泡法主要是从后开始排,与快速排序法形成对比,他是比较相邻的两数中最大的往后排,外层控制排序的趟次,里面的判断一趟需要比较几个相邻的,相邻的较大的数往后排,这样第一趟完成后,最大的数就在最后了,也就是数字下标最大的位置,在重新比较相邻的,这样重复下去,比较的次数每次都要少一次,直到外循环结束,排序完成。

希望可以给初学者一点思路,我也是初学者,有错及时反馈。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值