Алгоритмические языки и программирование. Игошина Л.В. - 77 стр.

UptoLike

Составители: 

Key:=0;
For i:=1 to n-1 do
If M[i] > M[i+1] then
begin
Z:=M[i];
M[i]:=M[i+1];
M[i+1]:=Z;
Key:=1;
end;
Until Key=0;
Writeln(' Упорядоченный массив');
For i:=1 to n do write(M[i],' '); readkey;
End.
17.3 Сортировка слиянием
Алгоритм сортировки слиянием используется в тех случаях, когда
данные расположены на внешних носителях информации или сортируется
данные очень большого объема, которые невозможно расположить в
оперативной памяти целиком. В этом случае данные могут быть сохранены,
например, в отдельных файлах, таких размеров,
которые могут быть
помещены в оперативную память, например в массивы. Производится
загрузка данных из файлов в массивы и сортировка данных каждого из
массивов отдельно. Упорядоченные данные снова записываются в файлы.
Затем производится сортировка слиянием уже упорядоченных данных,
расположенных в отдельных файлах.
Поскольку мы пока не знакомы с работой с файлами в
ТР, рассмотрим
алгоритм сортировки слиянием на примере слияния двух предварительно
упорядоченных массивов Х и Y в один массив Z. Данные в массивах
расположены в порядке возрастания их значений.
Обзначим через переменные dx, dy - длину (размер) массивов X, Y
соответственно. Переменные ix, iy - счетчики (адреса) тех же массивов.
Переменная iz - счетчик числа элементов нового массива Z.
Схема алгоритма сортировки слиянием
Начало
Ввод
dx, dy,
X, Y
                  Key:=0;
                  For i:=1 to n-1 do
                     If M[i] > M[i+1] then
                               begin
                                     Z:=M[i];
                                     M[i]:=M[i+1];
                                     M[i+1]:=Z;
                                     Key:=1;
                               end;
           Until Key=0;
        Writeln(' Упорядоченный массив');
          For i:=1 to n do write(M[i],' '); readkey;
     End.


                              17.3 Сортировка слиянием

      Алгоритм сортировки слиянием используется в тех случаях, когда
данные расположены на внешних носителях информации или сортируется
данные очень большого объема, которые невозможно расположить в
оперативной памяти целиком. В этом случае данные могут быть сохранены,
например, в отдельных файлах, таких размеров, которые могут быть
помещены в оперативную память, например в массивы. Производится
загрузка данных из файлов в массивы и сортировка данных каждого из
массивов отдельно. Упорядоченные данные снова записываются в файлы.
Затем производится сортировка слиянием уже упорядоченных данных,
расположенных в отдельных файлах.
      Поскольку мы пока не знакомы с работой с файлами в ТР, рассмотрим
алгоритм сортировки слиянием на примере слияния двух предварительно
упорядоченных массивов Х и Y в один массив Z. Данные в массивах
расположены в порядке возрастания их значений.
      Обзначим через переменные dx, dy - длину (размер) массивов X, Y
соответственно. Переменные ix, iy - счетчики (адреса) тех же массивов.
Переменная iz - счетчик числа элементов нового массива Z.

                       Схема алгоритма сортировки слиянием

                Начало


                Ввод
                dx, dy,
                X, Y