javascript_数字数组排序

<h3>功能:数字数组大小排序</h3>
    <script language="javascript">
        var array = [54, 23, 38, 4, 234, 9, 11];
        document.write("原数组为:[" + array.toString() + "]" + "<br />");
        
        // 求最大值:
        var max = Number.NEGATIVE_INFINITY;
        document.write("负无穷:" + max  + "; 类型为:" + typeof max + "; <br />");
        
        for(var i=0, len=array.length; i<len; i++) {
            if(array[i] > max) {
                max = array[i];
            }
        }
        document.write("数组中最大的数值为:" + max + "; <br /><br /><br />");
        
        // 排序:
        function sortFn(inArray) {
            var newArray = [],
                index,
                m;
            document.write("原始数组为:" + inArray + "<br />");
            do{
                m = Number.NEGATIVE_INFINITY;
                for(var i=0, len=inArray.length; i<len; i++) {
                    if(inArray[i] > m) {
                        m = inArray[i];
                    }
                }
                document.write("->" + m + "<br />");
                newArray.push(m);
                document.write("newArray数组为:" + newArray.toString() + "<br />");
                index = inArray.indexOf(m);
                inArray.splice(index, 1);
                document.write("inArray数组为:" + inArray.toString() + "<br /><br />");
            } while(inArray.length !=0);
            return newArray.toString();
        }
        var result = sortFn(array).split(",");
        document.write("从大到小排序为:" + result + "<br />");
        document.write("从小到大排序为:" + result.reverse() + "<br /><br />");
        
        // 冒泡排序:
        var secArray = [45, 23, 99, 11, 233, 87];
        document.write("冒泡比较法:原始数组_"+ secArray + "<br />");
        var len = secArray.length,
            empty;
        for(var k=0; k<len-1; k++) {
            for(var i=0; i<len-k-1; i++) {
                if(secArray[i]>secArray[i+1]) {
                    empty = secArray[i+1];
                    secArray[i+1] = secArray[i];
                    secArray[i] = empty
                }
            }
        }
        document.write("冒泡比较法为:结果为(默认为小到大)_"+ secArray + "<br />");
        
        
    </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值