[排序] 冒泡排序

冒泡排序

冒泡排序

冒泡排序的就是一趟一趟的对数组进行遍历,比较前后两个数的大小并排序

思路很简单, 这里就不过多解释了

主要是有几个点需要注意:

这里以从小到大的排序为例

  1. 第一趟的遍历会让最大的元素排到最后,第二趟会让第二大的元素排到倒数第二,以此类推
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)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容