第一个算法是基础的冒泡排序算法,算法设计的种排序算法的基本算法
local array = {6,16,19,12,15,13,30,32,21,24,1,7,10}
for i=1,#array do
for j=i+1,#array doif array[i] < array[j] then
array[i], array[j] = array[j], array[i]
end
end
end
for k ,v in pairs(array) do
print("k = " .. k .. " v = " .. v)
end
第二算法,是冒泡的延伸,倒着比较,相邻连个做比较
local array1 = {6,16,19,12,15,13,30,32,21,24,1,7,10}
for i=1,#array1 do
for j = #array1,i+1, -1 do
if array1[j] < array1[j-1] then
array1[j], array1[j-1] = array1[j-1], array1[j]
end
end
end
for k ,v in pairs(array1) do
print("k1 = " .. k .. " v1 = " .. v)
end
第三种算法,是第二种算法的延伸,如果在第五次排序的时候,该次排序就已经排好序,第二种算法还是会继续比较,从而浪费时间