LUA 排序算法和性能分析[2]:冒泡排序算法

冒泡算法

时间开销:最长

稳定性:稳定

复杂度:n*n


math.randomseed(os.time());

local real_print = print;
local nLine = 0;
function print(...)
    real_print(nLine, ...)
    nLine = nLine + 1;
end


local t = {}

local function dump()
    -- print(table.concat(t, ","));
end;



for i = 1, 256 do
    table.insert(t, math.random(i), i);
end

function table_sort()
    table.sort(t);
    dump()
end

-- table_sort() -- 0.3

-- 冒泡排序
function bubble_sort()
    print("冒泡排序")
    local n = #t;
    for j = 1, n - 1 do

        for i = 1, n - j do


            if t[i] > t[i+1] then
                t[i], t[i+1] = t[i+1], t[i];
                dump()
            end;
        end;
    end;
    dump()
end;

-- bubble_sort(); --5.7
相关文章
相关标签/搜索