冒泡算法效率较低,是排序算法中最简单的。
思路:
- 对未排序各个元素从头到尾一次进行比较相邻两个元素大小的关系
- 如果前一个比后一个大,就进行交换 继续向后移动,比较下两个数
- 当走到最右边的时候,那最大的数,一定被放在了最右边
- 按照这个思路,再从左边开始,就可以找到倒数第二大的数字。
- 依次类推,就可以将数据排序完成。
function bubbleSort(nums) {
let len = nums.length
// 第一层循环
for(let j = len - 1;j >= 0;j--){
// 第二层循环,每次循环都能找到最大的那个
for(var i = 0;i < j;i++){
if(nums[i] > nums[i+1]){
// 发现这一个比下一个更大,那就进行交换
[nums[i],nums[i+1]] = [nums[i + 1],nums[i]]
}
}
}
console.log(nums)
}