📄 mwtextsort.pas
字号:
end;
end;
end
else
begin
if MergeCompare(FFileThree.FLeft, FFileFour.FLeft) <= 0 then
begin
if MergeCompare(FFileTwo.FLeft, FFileThree.FLeft) <= 0 then
begin
if MergeCompare(FFileTwo.FLeft, FFileFive.FLeft) <= 0 then
begin
writeln(fOutFile, FFileTwo.fLeft^.Data);
FFileTwo.Next;
end
else
begin
writeln(fOutFile, FFileFive.fLeft^.Data);
FFileFive.Next;
end;
end
else
begin
if MergeCompare(FFileThree.FLeft, FFileFive.FLeft) <= 0 then
begin
writeln(fOutFile, FFileThree.fLeft^.Data);
FFileThree.Next;
end
else
begin
writeln(fOutFile, FFileFive.fLeft^.Data);
FFileFive.Next;
end;
end
end
else
begin
if MergeCompare(FFileTwo.FLeft, FFileFour.FLeft) <= 0 then
begin
if MergeCompare(FFileTwo.FLeft, FFileFive.FLeft) <= 0 then
begin
writeln(fOutFile, FFileTwo.fLeft^.Data);
FFileTwo.Next;
end
else
begin
writeln(fOutFile, FFileFive.fLeft^.Data);
FFileFive.Next;
end;
end
else
begin
if MergeCompare(FFileFour.FLeft, FFileFive.FLeft) <= 0 then
begin
writeln(fOutFile, FFileFour.fLeft^.Data);
FFileFour.Next;
end
else
begin
writeln(fOutFile, FFileFive.fLeft^.Data);
FFileFive.Next;
end;
end;
end;
end;
end;
while ( FFileOne.Full ) and ( FFileTwo.Full ) and ( FFileThree.Full ) and ( FFileFour.Full ) do
begin
if MergeCompare(FFileOne.FLeft, FFileTwo.FLeft) <= 0 then
begin
if MergeCompare(FFileThree.FLeft, FFileFour.FLeft) <= 0 then
begin
if MergeCompare(FFileOne.FLeft, FFileThree.FLeft) <= 0 then
begin
writeln(fOutFile, FFileOne.fLeft^.Data);
FFileOne.Next;
end
else
begin
writeln(fOutFile, FFileThree.fLeft^.Data);
FFileThree.Next;
end;
end
else
begin
if MergeCompare(FFileOne.FLeft, FFileFour.FLeft) <= 0 then
begin
writeln(fOutFile, FFileOne.fLeft^.Data);
FFileOne.Next;
end
else
begin
writeln(fOutFile, FFileFour.fLeft^.Data);
FFileFour.Next;
end;
end;
end
else
begin
if MergeCompare(FFileThree.FLeft, FFileFour.FLeft) <= 0 then
begin
if MergeCompare(FFileTwo.FLeft, FFileThree.FLeft) <= 0 then
begin
writeln(fOutFile, FFileTwo.fLeft^.Data);
FFileTwo.Next;
end
else
begin
writeln(fOutFile, FFileThree.fLeft^.Data);
FFileThree.Next;
end;
end
else
begin
if MergeCompare(FFileTwo.FLeft, FFileFour.FLeft) <= 0 then
begin
writeln(fOutFile, FFileTwo.fLeft^.Data);
FFileTwo.Next;
end
else
begin
writeln(fOutFile, FFileFour.fLeft^.Data);
FFileFour.Next;
end;
end;
end;
end;
while ( FFileOne.Full ) and ( FFileTwo.Full ) and ( FFileThree.Full ) and ( FFileFive.Full ) do
begin
if MergeCompare(FFileOne.FLeft, FFileTwo.FLeft) <= 0 then
begin
if MergeCompare(FFileThree.FLeft, FFileFive.FLeft) <= 0 then
begin
if MergeCompare(FFileOne.FLeft, FFileThree.FLeft) <= 0 then
begin
writeln(fOutFile, FFileOne.fLeft^.Data);
FFileOne.Next;
end
else
begin
writeln(fOutFile, FFileThree.fLeft^.Data);
FFileThree.Next;
end;
end
else
begin
if MergeCompare(FFileOne.FLeft, FFileFive.FLeft) <= 0 then
begin
writeln(fOutFile, FFileOne.fLeft^.Data);
FFileOne.Next;
end
else
begin
writeln(fOutFile, FFileFive.fLeft^.Data);
FFileFive.Next;
end;
end;
end
else
begin
if MergeCompare(FFileThree.FLeft, FFileFive.FLeft) <= 0 then
begin
if MergeCompare(FFileTwo.FLeft, FFileThree.FLeft) <= 0 then
begin
writeln(fOutFile, FFileTwo.fLeft^.Data);
FFileTwo.Next;
end
else
begin
writeln(fOutFile, FFileThree.fLeft^.Data);
FFileThree.Next;
end;
end
else
begin
if MergeCompare(FFileTwo.FLeft, FFileFive.FLeft) <= 0 then
begin
writeln(fOutFile, FFileTwo.fLeft^.Data);
FFileTwo.Next;
end
else
begin
writeln(fOutFile, FFileFive.fLeft^.Data);
FFileFive.Next;
end;
end;
end;
end;
while ( FFileOne.Full ) and ( FFileTwo.Full ) and ( FFileFour.Full ) and ( FFileFive.Full ) do
begin
if MergeCompare(FFileOne.FLeft, FFileTwo.FLeft) <= 0 then
begin
if MergeCompare(FFileFour.FLeft, FFileFive.FLeft) <= 0 then
begin
if MergeCompare(FFileOne.FLeft, FFileFour.FLeft) <= 0 then
begin
writeln(fOutFile, FFileOne.fLeft^.Data);
FFileOne.Next;
end
else
begin
writeln(fOutFile, FFileFour.fLeft^.Data);
FFileFour.Next;
end;
end
else
begin
if MergeCompare(FFileOne.FLeft, FFileFive.FLeft) <= 0 then
begin
writeln(fOutFile, FFileOne.fLeft^.Data);
FFileOne.Next;
end
else
begin
writeln(fOutFile, FFileFive.fLeft^.Data);
FFileFive.Next;
end;
end;
end
else
begin
if MergeCompare(FFileFour.FLeft, FFileFive.FLeft) <= 0 then
begin
if MergeCompare(FFileTwo.FLeft, FFileFour.FLeft) <= 0 then
begin
writeln(fOutFile, FFileTwo.fLeft^.Data);
FFileTwo.Next;
end
else
begin
writeln(fOutFile, FFileFour.fLeft^.Data);
FFileFour.Next;
end;
end
else
begin
if MergeCompare(FFileTwo.FLeft, FFileFive.FLeft) <= 0 then
begin
writeln(fOutFile, FFileTwo.fLeft^.Data);
FFileTwo.Next;
end
else
begin
writeln(fOutFile, FFileFive.fLeft^.Data);
FFileFive.Next;
end;
end;
end;
end;
while ( FFileOne.Full ) and ( FFileThree.Full ) and ( FFileFour.Full ) and ( FFileFive.Full ) do
begin
if MergeCompare(FFileOne.FLeft, FFileThree.FLeft) <= 0 then
begin
if MergeCompare(FFileFour.FLeft, FFileFive.FLeft) <= 0 then
begin
if MergeCompare(FFileOne.FLeft, FFileFour.FLeft) <= 0 then
begin
writeln(fOutFile, FFileOne.fLeft^.Data);
FFileOne.Next;
end
else
begin
writeln(fOutFile, FFileFour.fLeft^.Data);
FFileFour.Next;
end;
end
else
begin
if MergeCompare(FFileOne.FLeft, FFileFive.FLeft) <= 0 then
begin
writeln(fOutFile, FFileOne.fLeft^.Data);
FFileOne.Next;
end
else
begin
writeln(fOutFile, FFileFive.fLeft^.Data);
FFileFive.Next;
end;
end;
end
else
begin
if MergeCompare(FFileFour.FLeft, FFileFive.FLeft) <= 0 then
begin
if MergeCompare(FFileThree.FLeft, FFileFour.FLeft) <= 0 then
begin
writeln(fOutFile, FFileThree.fLeft^.Data);
FFileThree.Next;
end
else
begin
writeln(fOutFile, FFileFour.fLeft^.Data);
FFileFour.Next;
end;
end
else
begin
if MergeCompare(FFileThree.FLeft, FFileFive.FLeft) <= 0 then
begin
writeln(fOutFile, FFileThree.fLeft^.Data);
FFileThree.Next;
end
else
begin
writeln(fOutFile, FFileFive.fLeft^.Data);
FFileFive.Next;
end;
end;
end;
end;
while ( FFileTwo.Full ) and ( FFileThree.Full ) and ( FFileFour.Full ) and ( FFileFive.Full ) do
begin
if MergeCompare(FFileTwo.FLeft, FFileThree.FLeft) <= 0 then
begin
if MergeCompare(FFileFour.FLeft, FFileFive.FLeft) <= 0 then
begin
if MergeCompare(FFileTwo.FLeft, FFileFour.FLeft) <= 0 then
begin
writeln(fOutFile, FFileTwo.fLeft^.Data);
FFileTwo.Next;
end
else
begin
writeln(fOutFile, FFileFour.fLeft^.Data);
FFileFour.Next;
end;
end
else
begin
if MergeCompare(FFileTwo.FLeft, FFileFive.FLeft) <= 0 then
begin
writeln(fOutFile, FFileTwo.fLeft^.Data);
FFileTwo.Next;
end
else
begin
writeln(fOutFile, FFileFive.fLeft^.Data);
FFileFive.Next;
end;
end;
end
else
begin
if MergeCompare(FFileFour.FLeft, FFileFive.FLeft) <= 0 then
begin
if MergeCompare(FFileThree.FLeft, FFileFour.FLeft) <= 0 then
begin
writeln(fOutFile, FFileThree.fLeft^.Data);
FFileThree.Next;
end
else
begin
writeln(fOutFile, FFileFour.fLeft^.Data);
FFileFour.Next;
end;
end
else
begin
if MergeCompare(FFileThree.FLeft, FFileFive.FLeft) <= 0 then
begin
writeln(fOutFile, FFileThree.fLeft^.Data);
FFileThree.Next;
end
else
begin
writeln(fOutFile, FFileFive.fLeft^.Data);
FFileFive.Next;
end;
end;
end;
end;
while ( FFileOne.Full ) and ( FFileTwo.Full ) and ( FFileThree.Full ) do
begin
if MergeCompare(FFileOne.FLeft, FFileTwo.FLeft) <= 0 then
begin
if MergeCompare(FFileOne.FLeft, FFileThree.FLeft) <= 0 then
begin
writeln(fOutFile, FFileOne.fLeft^.Data);
FFileOne.Next;
end
else
begin
writeln(fOutFile, FFileThree.fLeft^.Data);
FFileThree.Next;
end;
end
else
begin
if MergeCompare(FFileTwo.FLeft, FFileThree.FLeft) <= 0 then
begin
writeln(fOutFile, FFileTwo.fLeft^.Data);
FFileTwo.Next;
end
else
begin
writeln(fOutFile, FFileThree.fLeft^.Data);
FFileThree.Next;
end;
end;
end;
while ( FFileOne.Full ) and ( FFileTwo.Full ) and ( FFileFour.Full ) do
begin
if MergeCompare(FFileOne.FLeft, FFileTwo.FLeft) <= 0 then
begin
if MergeCompare(FFileOne.FLeft, FFileFour.FLeft) <= 0 then
begin
writeln(fOutFile, FFileOne.fLeft^.Data);
FFileOne.Next;
end
else
begin
writeln(fOutFile, FFileFour.fLeft^.Data);
FFileFour.Next;
end;
end
else
begin
if MergeCompare(FFileTwo.FLeft, FFileFour.FLeft) <= 0 then
begin
writeln(fOutFile, FFileTwo.fLeft^.Data);
FFileTwo.Next;
end
else
begin
writeln(fOutFile, FFileFour.fLeft^.Data);
FFileFour.Next;
end;
end;
end;
while ( FFileOne.Full ) and ( FFileTwo.Full ) and ( FFileFive.Full ) do
begin
if MergeCompare(FFileOne.FLeft, FFileTwo.FLeft) <= 0 then
begin
if MergeCompare(FFileOne.FLeft, FFileFive.FLeft) <= 0 then
begin
writeln(fOutFile, FFileOne.fLeft^.Data);
FFileOne.Next;
end
else
begin
writeln(fOutFile, FFileFive.fLeft^.Data);
FFileFive.Next;
end;
end
else
begin
if MergeCompare(FFileTwo.FLeft, FFileFive.FLeft) <= 0 then
begin
writeln(fOutFile, FFileTwo.fLeft^.Data);
FFileTwo.Next;
end
else
begin
writeln(fOutFile, FFileFive.fLeft^.Data);
FFileFive.Next;
end;
end;
end;
while ( FFileOne.Full ) and ( FFileThree.Full ) and ( FFileFour.Full ) do
begin
if MergeCompare(FFileOne.FLeft, FFileThree.FLeft) <= 0 then
begin
if MergeCompare(FFileOne.FLeft, FFileFour.FLeft) <= 0 then
begin
writeln(fOutFile, FFileOne.fLeft^.Data);
FFileOne.Next;
end
else
begin
writeln(fOutFile, FFileFour.fLeft^.Data);
FFileFour.Next;
end;
end
else
begin
if MergeCompare(FFileThree.FLeft, FFileFour.FLeft) <= 0 then
begin
writeln(fOutFile, FFileThree.fLeft^.Data);
FFileThree.Next;
end
else
begin
writeln(fOutFile, FFileFour.fLeft^.Data);
FFileFour.Next;
end;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -