从零开始读算法导论第三版 归并排序 LUA实现
来源:互联网 发布:航天税控开票软件 编辑:程序博客网 时间:2024/06/06 12:53
function merge(A, p, q, r) local n1 = q - p + 1 local n2 = r - q local L = {} local R = {} for i = 1, n1 do L[i] = A[p + i - 1] end for j = 1, n2 do R[j] = A[q + j] end local i, j = 1, 1 local k = p for k = p, r do local ln = L[i] local rn = R[j] if ln == nil then while j <= n2 do A[k] = R[j] j = j + 1 k = k + 1 end elseif rn == nil then while i <= n1 do A[k] = L[i] i = i + 1 k = k + 1 end else if ln <= rn then A[k] = ln i = i + 1 else A[k] = rn j = j + 1 end end endendfunction merge_sort(A, p, r) if p < r then local q = math.floor((p + r) / 2) merge_sort(A, p, q) merge_sort(A, q + 1, r) merge(A, p, q, r) endendC = {12, 312, 465, 54, 2, 78, 32, 123, 4353, 21, 341, 3, 54, 534, 53, 645, 6, 7, 654, 345, 6, 4667, 65, 678}merge_sort(C, 1, #C)print(unpack(C))
阅读全文
0 0
- 从零开始读算法导论第三版 归并排序 LUA实现
- 从零开始读算法导论第三版 求最大子数组和 LUA实现
- 【算法导论】归并排序实现
- C++ 归并排序实现(算法导论)
- C++ 归并排序实现(算法导论)
- 【算法导论】归并排序,C语言实现
- 算法导论:归并排序java实现
- 【java实现】算法导论之归并排序
- 【算法导论】归并排序
- [算法导论]归并排序
- 算法导论-----归并排序
- 【算法导论】归并排序
- 算法导论-归并排序
- 算法导论-归并排序
- 算法导论 归并排序
- 算法导论-归并排序
- 《算法导论》--归并排序
- 算法导论--归并排序
- 神秘的咒语(Lcis)
- 如何连续读取多个以空格分开的数字?遇见回车结束?
- ArrayList
- c#-WinForm-按照学号精确查询对象
- 合唱队形(LIS)
- 从零开始读算法导论第三版 归并排序 LUA实现
- Selenium 调用IEDriverServer打开IE浏览器
- iOS-UITextField限制字数
- android选图上传(PicPopupWindow)
- 程序的可维护性和可扩展性
- 多校第10场01,双向bfs
- protobuf使用例子
- javaScript实现兼容手机端界面
- Hadoop+Spark Windows系统环境搭建