Курсовая работа: Порівняльний аналіз ефективності та складності алгоритмів сортування файлів і послідовностей
OutSwitch:=true;
rewrite(g1);rewrite(g2);
reset(f1);reset(f2);
while (not eof(f1)) or (not eof(f2)) do
begin
Used[1]:=0;Used[2]:=0;
Fin[1]:=false;Fin[2]:=false;
GetItem(1);GetItem(2);
while (not Fin[1])or(not Fin[2]) do
begin
if Fin[1] then Winner:=2
else if Fin[2] then Winner:=1
else if Current[1].key<Current[2].key then Winner:=1
else Winner:=2;
if OutSwitch then write(g1,Current[Winner])
else write(g2,Current[Winner]);
GetItem(Winner);
end;
OutSwitch:=not OutSwitch;
end;
close(g1);close(g2);
close(f1);close(f2);
end;
procedure MergeSort(var f0:TFile);
var f1,f2,g1,g2:TFile;
i,n,k:integer;buf:Item;
flag:boolean;
begin
Assign(f1,'F1Merge.itm');