js中的冒泡排序

冒泡排序 時間複雜度爲O(n^2),有兩個優勢:javascript

1.「編程複雜度」很低,很容易寫出代碼;java

2.具備穩定性,這裏的穩定性是指原序列中相同元素的相對順序仍然保持到排序後的序列,而堆排序、快速排序均不具備穩定性。編程

實現基本思路:冒泡排序是通過n-1趟子排序完成的,第i趟子排序從第1個數至第n-i個數,若第i個數比後一個數大(則升序,小則降序)則交換兩數。code

下面本身實現代碼:排序

<script type="text/javascript">
    function maopao(arra){

        var temp;

        for(var i=0;i<arra.length;i++){ //比較多少趟,從第一趟開始

            for(var j=0;j<arra.length-i-1;j++){ //每一趟比較多少次數

                if(arra[j]>arra[j+1]){
                    temp=arra[j];
                    arra[j]=arra[j+1];
                    arra[j+1]=temp;
                }
            }
        };
    return arra;
    }

    var arrry=[85,24,63,17,31,17,86,50];

    var s=maopao(arrry);

    console.log(s);
</script>

打印結果:[17, 17, 24, 31, 50, 63, 85, 86]ip

相關文章
相關標籤/搜索