javascript_數字數組排序

來源:互聯網
上載者:User
<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>
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.