PDA

View Full Version : سوال: مرتب سازی عناصر آرایه ها



Fastdesign
یک شنبه 29 آبان 1390, 09:15 صبح
سلام
آرایه با نام A با 6 عنصر بصورت عمومی تعریف کردم. حالا می خوام این آرایه را به روش مرتب سازی ادغامی(Merge sort) مرتبش کنم.
متغییر های سراسری :
var
A:array[1..6] of Integer;
Temp:array[1..6] of integer;
i,j,k,Mid:Integer;
و این کد مرتب سازی ادغامی :
procedure TForm1.Button2Click(Sender: TObject);
var i:Integer;
var first,last:Integer;
begin
first:= a[1];
last:=a[6];
Mid:=(first+last) div 2;
i:=first;
j:=mid +1;
k:=1;

while (i<=mid) and (i<=last) do begin
if a[i]<a[j] then begin
Temp[k]:=a[i];
i:=i+1;
end
else begin
Temp[k]:=a[j];
k:=k+1;
end;

while i<=mid do begin
temp[k]:=a[i];
i:=i+1;
k:=k+1;
end;

while j<=last do begin
temp[k]:=a[j];
j:=j+1;
k:=k+1;
end;
end;

for i := first to Last do begin
A[i]:=temp[i-first]
end;

for i := first to Last do begin
ListBox2.Items.Add(inttostr(a[i]));
end;

end;
دوتا لیست باکس دارم . به این صورت که آرایه در لیست اول ذخیره میشه و بعد از مرتب سازی در لیست دوم قرار می گیره.
حالا نمی دونم چرا این کدها جواب نمیده؟ الگوریتمش که درسته.
دوستان اگه کسی بلده ما را راهنمایی کنه.
با تشکر
یا حق

Fastdesign
یک شنبه 29 آبان 1390, 22:59 عصر
دوستان اگه کسی بلده مشکلم را حل کنه.
خیلی ضروریه.