34.冒泡排序

參考網站  https://visualgo.net/算法

冒泡排序:網站

先後兩個數兩兩進行比較spa

前 < 後, 則後面一個繼續與下一個比較.net

前 > 後,則交換位置,再與下一個比較code

第一輪比較完成能夠肯定最後一個數字的位置blog

再進行第二輪來肯定倒數第二個的位置排序

直到排序完成內存

arr.length = 5get

關於 j < arr.length-i-1,因爲咱們從第一個從0開始,那麼咱們看第0輪,jtable

j < 5-0-1也就是 j < 4 也就是說 j 最大取3 ,arr[3]與arr[3+1]進行比較

輪數/i 0 1 2 3 4 比較次數/arr.length-i-1
0 5 4 3 2 1 4
1 4 3 2 1 5 3
2 3 2 1 4 5 2
3 2 1 3 4 5 1
  1 2 3 4 5  

注意能夠每一輪都比較4次,只是算法比較佔內存

let arr = [5,4,3,2,1]for(let i = 0; i < arr.length; i++){ // 比較的輪數  for(let j = 0; j < arr.length - i -1; j++){ //比較的組數    if(arr[j]>arr[j+1]){      let a = arr[j]      arr[j] = arr[j+1]      arr[j+1] = a    }  }}
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息