js數據結構與算法之排序-------冒泡排序

一.冒泡排序

                                                  

  • 時間複雜度:算的是運行的次數。
  • 空間複雜度:算的是佔用的內存。

想詳細瞭解,可點擊該鏈接:

十分鐘搞定時間、空間複雜度

 

冒泡排序:通過從第一個位置開始做交換,大的往後排,小的往前排,一直到最後。以此類推,每次遍歷都是幹這個事。

動畫

                                      

 

需要遍歷的次數 = 總長度 - 1。

		//冒泡排序
		let upSort = (arr) => {
			//控制遍歷多少次
		  for(let i = arr.length - 1, tmp; i > 0; i--) {
		  	//控制遍歷到哪個邊界
		    for(let j = 0; j < i; j++) {
		      tmp = arr[j];
		      if (tmp > arr[j + 1]) {
		        arr[j] = arr[j + 1];
		        arr[j + 1] = tmp;
		      }
		    }
		  };
		  return arr;
		}

		console.log(upSort([4, 1, 2, 14, 8, 56]));    //[1, 2, 4, 8, 14, 56]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章