js数据结构与算法之排序-------冒泡排序

版权声明:一只会飞的狼 https://blog.csdn.net/sinat_40697723/article/details/87448717

一.冒泡排序

                                                  

  • 时间复杂度:算的是运行的次数。
  • 空间复杂度:算的是占用的内存。

想详细了解,可点击该链接:

十分钟搞定时间、空间复杂度

冒泡排序:通过从第一个位置开始做交换,大的往后排,小的往前排,一直到最后。以此类推,每次遍历都是干这个事。

动画

                                      

需要遍历的次数 = 总长度 - 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]

猜你喜欢

转载自blog.csdn.net/sinat_40697723/article/details/87448717
今日推荐