Лабораторная работа № 4.
Внешняя сортировка

1. Постановка задачи

Разработать программу для сортировки текстового файла, используя:

Подпрограммы сортировки реализовать в отдельном модуле.

Имена файлов передаются через параметры программы.

Для защиты лабораторной работы потребуется определить как меняется время сортировки массива в зависимости от следующих параметров:

Замеры времени необходимо проводить на данных большого объёма (от 1000 чисел).

2. Таблица данных

Класс Имя Смысл Тип Структура
Входные данные NameOfInputFile Имя входного файла string простая переменная
NameOfOutputFile Имя выходного файла string простая переменная
Выходные данные   Новый файл с именем NameOfOutputFile, в котором размещены данные из файла NameOfInputFile в отсортированном порядке

3. Формат представления данных в файле

В файле должны быть только целые числа, которые должны разделяться пробелами или переводами строки. После последнего числа не должно быть никаких лишних знаков.

4. Аномалии

Не рассматриваем.

5. Тестовые примеры

№ теста Входные данные Ожидаемые результаты Смысл теста
1 Содержимое входного файла:
0 2 5 9 19
Содержимое выходного файла:
0 2 5 9 19
Числа расположены в правильном порядке.
2 Содержимое входного файла:
55 48 42 31 24 13
Содержимое выходного файла:
13 24 31 42 48 55
Числа расположены в обратном порядке.
3 Содержимое входного файла:
3 5 56 12 1 44
Содержимое выходного файла:
1 3 5 12 44 56
Числа расположены в случайном порядке.
4 Содержимое входного файла:
8 23 5 65 44 10 1 12 55
Содержимое выходного файла:
1 5 8 10 12 23 44 55 65
Числа расположены в случайном порядке.

Для того чтобы хорошо протестировать программу сортировки, а также сравнить время, затрачиваемое на сортировку различными алгоритмами, необходимо тестировать программу на исходных данных больших объемов. Вы можете загрузить файлы с исходными данными, содержащими 1000 чисел в прямом порядке, 5000 чисел в прямом порядке, 10000 чисел в прямом порядке, 20000 чисел в прямом порядке, 1000 чисел в обратном порядке, 5000 чисел в обратном порядке, 10000 чисел в обратном порядке, 20000 чисел в обратном порядке, 1000 чисел в случайном порядке, 5000 чисел в случайном порядке, 10000 чисел в случайном порядке, 20000 чисел в случайном порядке, 1000 чисел с частичным порядком, 5000 чисел с частичным порядком, 10000 чисел с частичным порядком, 20000 чисел с частичным порядком.

6. Метод

Методы сортировки были рассмотрены на лекции.