function bubbleSort(t)
local index = 0
for i=1, #t - 1 do
for j = 1, #t - i do
if t[j] > t[j + 1] then
t[j],t[j + 1] = t[j+1], t[j]
end
index = index + 1
end
end
print("---------bubbleSort---------------------")
print("循环次数:" .. index)
print("-----------------------------------------")
for k,v in pairs(t) do
print(k,v)
end
print("---------bubbleSort---------------------")
print(" ")
print(" ")
end
function bubbleSort2(t)
local index = 0
for i = 1, #t - 1 do
local isSorder = true
for j = 1, #t - 1 do
if t[j] > t[j + 1] then
t[j],t[j + 1] = t[j+1], t[j]
isSorder = false
end
index = index + 1
end
if isSorder then
break
end
end
print("---------bubbleSort2---------------------")
print("循环次数:" .. index)
print("-----------------------------------------")
for k,v in pairs(t) do
print(k,v)
end
print("---------bubbleSort2---------------------")
print(" ")
print(" ")
end
function bubbleSort3(t)
local index = 0
local isSorderLength = #t - 1
for i = 1, #t - 1 do
local isSorder = true
for j = 1, isSorderLength do
if t[j] > t[j + 1] then
t[j],t[j + 1] = t[j+1], t[j]
isSorder = false
isSorderLength = j
end
index = index + 1
end
if isSorder then
break
end
end
print("---------bubbleSort3---------------------")
print("循环次数:" .. index)
print("-----------------------------------------")
for k,v in pairs(t) do
print(k,v)
end
print("---------bubbleSort3---------------------")
print(" ")
print(" ")
end
function bubbleSort4(t)
local index = 0
for i = 1, #t - 1 do
for j = #t - 1, i, -1 do
if t[j] > t[j + 1] then
t[j],t[j + 1] = t[j+1], t[j]
end
index = index + 1
end
end
print("---------bubbleSort4---------------------")
print("循环次数:" .. index)
print("-----------------------------------------")
for k,v in pairs(t) do
print(k,v)
end
print("---------bubbleSort4---------------------")
print(" ")
print(" ")
end
function bubbleSort5(t)
local index = 0
for i = 1, #t - 1 do
local isSorder = true
for j = #t - 1, i, -1 do
if t[j] > t[j + 1] then
t[j],t[j + 1] = t[j+1], t[j]
isSorder = false
end
index = index + 1
end
if isSorder then
break
end
end
print("---------bubbleSort5---------------------")
print("循环次数:" .. index)
print("-----------------------------------------")
for k,v in pairs(t) do
print(k,v)
end
print("---------bubbleSort5---------------------")
print(" ")
print(" ")
end
function bubbleSort6(t)
local index = 0
for i = 1, #t - 1 do
local isSorder = true
local isSorderLength = #t - 1
for j = isSorderLength, i, -1 do
if t[j] > t[j + 1] then
t[j],t[j + 1] = t[j+1], t[j]
isSorder = false
isSorderLength = j
end
index = index + 1
end
if isSorder then
break
end
end
print("---------bubbleSort6---------------------")
print("循环次数:" .. index)
print("-----------------------------------------")
for k,v in pairs(t) do
print(k,v)
end
print("---------bubbleSort6---------------------")
print(" ")
print(" ")
end
function bubbleSort7(t)
local index = 0
for i = 1, #t / 2 do
local isSorder = true
for j = i, #t - i do
if t[j] > t[j + 1] then
t[j],t[j + 1] = t[j+1], t[j]
isSorder = false
end
index = index + 1
end
if isSorder then
break
end
isSorder = true
for j = #t - i, i+1, -1 do
if t[j] < t[j - 1] then
t[j],t[j - 1] = t[j-1], t[j]
isSorder = false
end
index = index + 1
end
if isSorder then
break
end
end
print("---------bubbleSort7---------------------")
print("循环次数:" .. index)
print("-----------------------------------------")
for k,v in pairs(t) do
print(k,v)
end
print("---------bubbleSort7---------------------")
print(" ")
print(" ")
end
local tab = {9, 8, 7, 6, 5, 4, 3, 2, 1}
local tab = {2, 3,4,5,6,7,1,8}
local tab = {1, 2, 1,3,32, 2, 7, 6, 5}
bubbleSort(tab)
bubbleSort2(tab)
bubbleSort3(tab)
bubbleSort4(tab)
bubbleSort5(tab)
bubbleSort6(tab)
bubbleSort7(tab)
lua 冒泡排序的几种写法
最新推荐文章于 2023-11-22 19:41:45 发布