ثامر أبو بلقيس
26-03-2014, 02:02 AM
السلام عليكم ورحمة الله
ترتيب الأعداد من الإجراءات الصعبة برمجيا
لأنه تعتمد على المقارنات الثنائية و الاستخلاص
وتستمر العملية في عمل يشبه الدوامة - ان صح التعبير-
ولعل في الاوتوبلاي وفرت لنا المصفوفة من خلال
الكود Table.Sort الترتيب وللغوص في الالية التي يعمل بها
الكود Table.Sort في المقارنه فهي تشبه التالي :
نضع في global functions
الكود :
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
و تحت زر نضع
list = { 125, 6, 11, 29, 77, 24, 23, 115, 65, 17, 83, 97 }
bubbleSort(list)
p ="";
for i, j in pairs(list) do
p=p..j..","
end
result = Dialog.Message("Notice", p);
ليتم ترتيب الأعداد من الأصغر إلى الأكبر
وللقيام بالعكس نغير فقط الإشارة > في global functions
السلام عليكم
ترتيب الأعداد من الإجراءات الصعبة برمجيا
لأنه تعتمد على المقارنات الثنائية و الاستخلاص
وتستمر العملية في عمل يشبه الدوامة - ان صح التعبير-
ولعل في الاوتوبلاي وفرت لنا المصفوفة من خلال
الكود Table.Sort الترتيب وللغوص في الالية التي يعمل بها
الكود Table.Sort في المقارنه فهي تشبه التالي :
نضع في global functions
الكود :
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
و تحت زر نضع
list = { 125, 6, 11, 29, 77, 24, 23, 115, 65, 17, 83, 97 }
bubbleSort(list)
p ="";
for i, j in pairs(list) do
p=p..j..","
end
result = Dialog.Message("Notice", p);
ليتم ترتيب الأعداد من الأصغر إلى الأكبر
وللقيام بالعكس نغير فقط الإشارة > في global functions
السلام عليكم