冒泡排序的就是一趟一趟的对数组进行遍历,比较前后两个数的大小并排序
思路很简单, 这里就不过多解释了
主要是有几个点需要注意:
这里以从小到大的排序为例
- 第一趟的遍历会让最大的元素排到最后,第二趟会让第二大的元素排到倒数第二,以此类推
function bubbleSort(array)
{
let finish = false
while( ! finish)
{
console.log(array.join(' '))
finish = true
for(let i = 0; i <= array.length - 2; i ++)
{
if(array[i] > array[i + 1])
{
swap(array, i, i + 1)
finish = false
}
}
}
}
function swap(array, a, b)
{
const temp = array[a]
array[a] = array[b]
array[b] = temp
}
const testArray = []
for(let i = 0; i < 10; i ++)
{
testArray.push(Math.random())
}
bubbleSort(testArray)