ثامر أبو بلقيس
05-09-2014, 11:39 AM
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
لتنويع البدائل بغية تحقيق الترتيب التقيت بهذه الخوارزمية
- خوارزمية خلاط الكوكتيل - وهي تفيد الترتيب
يزرع هذا الكود في global functions
function cocktailSort( A )
local swapped
repeat
swapped = false
for i = 1, #A - 1 do
if A[ i ] > A[ i+1 ] then
A[ i ], A[ i+1 ] = A[ i+1 ] ,A[i]
swapped=true
end
end
if swapped == false then
break -- repeatd loop;
end
for i = #A - 1,1,-1 do
if A[ i ] > A[ i+1 ] then
A[ i ], A[ i+1 ] = A[ i+1 ] , A[ i ]
swapped=true
end
end
until swapped==false
end
و لاستغلال الكود نكتب هذا في زر و نعاين تحقق الترتيب :
list = { 4, 2, 5, 7, 1, 12, 6, 8, 11, 9, 10, 3}
cocktailSort(list)
p ="";
for i, j in pairs(list) do
p=p..j..","
end
Dialog.Message("Notice", p);
ملاحظة : لعلك لاحظت توفر العديد من خوارزميات الترتيب
الفروقات بينها هي السرعة لذلك فهي تختلف عن بعضها
بالتوفيق:abc_138:
السلام عليكم ورحمة الله وبركاته
لتنويع البدائل بغية تحقيق الترتيب التقيت بهذه الخوارزمية
- خوارزمية خلاط الكوكتيل - وهي تفيد الترتيب
يزرع هذا الكود في global functions
function cocktailSort( A )
local swapped
repeat
swapped = false
for i = 1, #A - 1 do
if A[ i ] > A[ i+1 ] then
A[ i ], A[ i+1 ] = A[ i+1 ] ,A[i]
swapped=true
end
end
if swapped == false then
break -- repeatd loop;
end
for i = #A - 1,1,-1 do
if A[ i ] > A[ i+1 ] then
A[ i ], A[ i+1 ] = A[ i+1 ] , A[ i ]
swapped=true
end
end
until swapped==false
end
و لاستغلال الكود نكتب هذا في زر و نعاين تحقق الترتيب :
list = { 4, 2, 5, 7, 1, 12, 6, 8, 11, 9, 10, 3}
cocktailSort(list)
p ="";
for i, j in pairs(list) do
p=p..j..","
end
Dialog.Message("Notice", p);
ملاحظة : لعلك لاحظت توفر العديد من خوارزميات الترتيب
الفروقات بينها هي السرعة لذلك فهي تختلف عن بعضها
بالتوفيق:abc_138: