Lua递归式归并排序

本文详细介绍了如何使用 Lua 编程语言实现归并排序的递归算法,通过拆分和合并过程,有效地将大型数据集排序。内容包括归并排序的基本原理、递归实现的步骤以及相关代码示例,帮助读者理解并掌握 Lua 中的归并排序技巧。
摘要由CSDN通过智能技术生成
-- region TestLua.lua
-- 2019.1.2

m_TempTuple = { }

--- <summary>
--- Merge(tuple, leftIndex, rightIndex, midIndex, tempTuple)
--- merge all elements between left index and right index. (contains mode)
--- the left array is tuple[leftIndex, midIndex]
--- the right array is tuple[midIndex + 1, rightIndex]
--- </summary>
function Merge(tuple, leftIndex, rightIndex, midIndex, tempTuple)
--    print("Merge", "leftIndex=" .. tostring(leftIndex), "rightIndex=" .. tostring(rightIndex), "midIndex=" .. tostring(midIndex))
    local totalIndex = 1

    -- left start index
    local i = leftIndex;

    -- right start index
    local j = midIndex + 1;

    -- copy elements from tuple to temp tuple in order.
    -- util one of parts is empty among left and right part.
    while (i <= midIndex and j <= rightIndex) do
        if (tuple[i] <= tuple[j])
        then
            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值