冒泡排序與隨機排序

1.冒泡排序

  1. 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
  2. 對每一對相鄰元素做同樣的步驟,從開始第一對到結尾的最后一對。所以最后的元素應該會是最大的數(shù)。
  3. 對所有的元素重復步驟,除了最后一個。
  4. 每次對越來越少的元素重復上面的步驟,直到沒有數(shù)字需要比較。
   var arr = [5, 4, 3, 2, 1]
        for (var i = 0; i < arr.length - 1; i++) {//外層循環(huán)控制循環(huán)的趟數(shù)
            for (var j = 0; j < arr.length - 1; j++) {//內層循環(huán)控制著次數(shù)
                if (arr[j] > arr[j + 1]) { 
                    //給一個臨時的變量 來存放
                    var san = arr[j] 
                    arr[j] = arr[j + 1]
                    arr[j + 1] = san
                }
            }
        }
        console.log(arr)

2.隨機排序-洗牌排序

1.)數(shù)組sort方法進行排序

1.sort 方法是對數(shù)組元素進行排序,默認排序順序是先將元素轉換為字符串,然后再進行排序
2.每次刷新都會得到一個新的數(shù)組

//1.sort方法
var arr = [5, 4, 3, 2, 1]
arr.sort(function(a,b){
     return Math.random()-0.5//通過隨機產生0到1的數(shù),然后判斷是否大于0.5從而影響排序
   })
   console.log(arr)
2.)遍歷數(shù)組進行排序
//2. 遍歷數(shù)組
for(var i=0;i<arr.length;i++){
     var rd=Math.floor(Math.random()*arr.length)
     console.log(rd)
     var temp=arr[rd]
     arr[rd]=arr[i]
     arr[i]=temp
   }
    console.log(arr)
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容