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]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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