lua快速排序

function SortUnit(array, low, high)

    local var = array[low]

    while low < high do

        while array[high] >= var and high > low do

            high = high - 1

        end

        array[low] = array[high]

        while array[low] <= var and high > low do

            low = low + 1

        end

        array[high] = array[low]

    end

    array[low] = var

    return low

end

function QuickSort2(array, low, high)

    if low >= high then return end

    local index = SortUnit(array, low, high)

    QuickSort2(array, low, index - 1)

    QuickSort2(array, index + 1, high)

end

function QuickSort(array)

    QuickSort2(array, 1, #array)

end

local t = {32,54,16,18,40,2,4,6,90,34,56,85}

QuickSort(t)

猜你喜欢

转载自blog.csdn.net/qq_23602395/article/details/128484240