【发布时间】:2015-02-16 11:19:39
【问题描述】:
我发现了这个冒泡排序代码here,想知道它为什么会起作用。
function bubbleSort(A)
local itemCount=#A
local hasChanged
repeat
hasChanged = false
itemCount=itemCount - 1
for i = 1, itemCount do
if A[i] > A[i + 1] then
A[i], A[i + 1] = A[i + 1], A[i]
hasChanged = true
end
end
until hasChanged == false
end
我假设如下:
A[i], A[i + 1] = A[i + 1], A[i]
等同于:
A[i] = A[i + 1]
A[i + 1] = A[i]
这会导致
A[i] = A[i + 1]
例子
A = { [1] = 3, [2] = 1 }
结束于
A = { [1] = 1 , [2] = 1 }
为什么没有?
【问题讨论】:
标签: sorting lua lua-table bubble-sort