冒泡排序的就是一趟一趟的對數(shù)組進行遍歷,比較前后兩個數(shù)的大小并排序
思路很簡單, 這里就不過多解釋了
主要是有幾個點需要注意:
這里以從小到大的排序為例
- 第一趟的遍歷會讓最大的元素排到最后,第二趟會讓第二大的元素排到倒數(shù)第二,以此類推
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)