PROCEDURE MergeSort2(VAR Txt: TEXT);
VAR
Temp1, Temp2: TEXT;
Sorted: CHAR;
BEGIN
CheckIfSorted(Txt, Sorted);
WHILE Sorted = ‘N’
DO
BEGIN
SplitIntoRuns(Txt, Temp1, Temp2);
MergeRuns(Temp1, Temp2, Txt);
CheckIfSorted(Txt, Sorted)
END
END
Каждый раздел проекта процедуры MergeSort может быть повторно использована (они пронумерованы соответственно номерам из раздела 10.2).
Раздел проекта 2.2.1 должна быть модифицирована для обеспечения нового метода копирования серий попеременно в Result1 и Result2. Путем прохождения двухсимвольного окна (LastCh и Ch) по файлу FileIn, конец одной серии и начало другой встречается тогда, когда значению LastCh предшествует значению Ch.