X

冒泡排序

冒泡排序大家都知道,但是基本的冒泡排序还是有优化的空间的。请看两个不同版本的比较。

这里是普通的冒泡排序:

/**
 * 普通的冒泡排序
 * @param   arr
 */function bubbleSort(arr:Array):void
{
    var len:int = arr.length;
    for (var i:int = 0; i < len; i++)
    {
        for (var j:int = i + 1; j < len; j++)
        {
            if (arr[i] < arr[j])
            {
                var t:* = arr[i];
                arr[i] = arr[j];
                arr[j] = t;
            }
        }
    }
}

这里是优化后的冒泡排序:

/**
 * 冒泡排序优化
 * @param   arr
 */function bubblesSortPlus(arr:Array):void
{
    var end:int = arr.length -1;
    while (end > 0)
    {
        var k:int = 0;
        for (var i:int = 0; i < end; i++)
        {
            if (arr[i] < arr[i + 1])
            {
                var t:* = arr[i];
                arr[i] = arr[i + 1];
                arr[i + 1] = t;
                k = i;
            }
        }
        end = k;
    }
}

This post was last modified on 2019 年 03 月 04 日 01:01

View Comments (13)

This website uses cookies.