Lua递归式归并排序

-- 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
            
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值