есть структура
Код:
unit Unit_Def;
interface
type
Sportsmen = record
Surname:ShortString;
Name:ShortString;
//Date_of_birth:ShortString;
Day_of_Birth:integer;
Month_of_Birth:integer;
Year_of_Birth:integer;
Weight:byte;
Height:byte;
Sex:ShortString;
end;
Mass = array of Sportsmen;
и массив
делаю какой нибудь массив и нужно его отсортировать пузырьком по свойству Weight.
придумал такое :
Код:
procedure Puzyrek(var Massiv:Mass;k:integer);// k - размер массива
var
i,j,m,n:integer;
Temp:Mass;//временная переменная для перемещения
begin
setlength(Temp,1);
for j:=0 to k-1 do
begin
with Massiv[j] do
m:=Weight;
for i:=0 to k-2 do
begin
with Massiv[i+1] do
n:=Weight;
if m>n then
begin
Temp[0]:=Massiv[j];
Massiv[j]:=Massiv[i+1];
Massiv[i+1]:=Temp[0];
end;
end;
end;
end;
наверху написано всё криво,никак не могу придумать логику такой процедуры,решил только ввести m и n что бы сравнивать значение Weight
и сортировать..Есть какой нибудь ещё способ сортировки в таком случае?И из того что я начал делать что нибудь придумать можно?