Разработка алгоритма сортировки одномерного массива

Разработка алгоритма сортировки одномерного массива

Постановка задачи: Требуется разработать программно-математическое обеспечение, реализующее алгоритм сортировки (в соответствии с вариантом задания) массива данных заданного типа по выбранному ключу.

Требования к ПМО: Структурно ПМО должно быть реализовано в виде интерфейсной части, обеспечивающей:

· задание массива из формы приложения (посредством компонента TStringGrid);

· определение ключа сортировки;

· выбор файла с исходными данными (для пакетного режима работы);

· запуск процесса сортировки;

· выбор файла для сохранения результатов сортировки;

· вывод результата сортировки,

а также предметной части, реализованной в виде класса, обеспечивающего:

· формализацию алгоритма сортировки;

· подсчет статистики (время сортировки, количество перестановок);

· чтение исходного массива из текстового файла;

· сохранение результатов сортировки в текстовом файле.

Варианты заданий.

Задание №1 (варианты)

5. В качестве исходного массива рассматривается массив элементов типа:

TElement = record

Value: Real;

Info: String;

end;

6. Предметный класс должен предусматривать возможность задания массива с произвольного типом элементов, т.е. использовать функцию сравнения, задаваемую и перекрываемую пользователем для конкретного используемого массива.

7. Для защиты работы студент должен представить исходный и отсортированный массив, а также статистику расчета для неупорядоченного, упорядоченного по возрастанию и упорядоченного по убыванию исходных массивов.

Варианты заданий сведены в таблицу 1.1.

Таблица 1.1.

№ варианта Метод решения
1.1 Сортировка выбором
1.2 Сортировка пузырьком
1.3 «Шейкерная» сортировка
1.4 Сортировка простыми вставками
1.5 Cортировка Шелла
1.6 Быстрая сортировка

Разработка динамических структур данных

Постановка задачи: Требуется разработать программно-математическое обеспечение, реализующее работу с динамической структурой данных (в соответствии с вариантом задания).

Требования к ПМО: Структурно ПМО должно быть реализовано в виде интерфейсной части, обеспечивающей:

· задание массива из формы приложения (посредством компонента TStringGrid);

· выбор файла для заполнения структуры из файла (для пакетного режима работы);

· выбор элемента структуры по порядковому номеру;

· выбор элемента структуры по информационному полю;

· выбор файла для выгрузки содержимого,

а также предметной части, реализованной в виде класса, обеспечивающего:

· хранение данных в динамической структуре;

· заполнение структуры из файла (для пакетного режима работы);

· добавление нового элемента структуры;

· вставка элемента в заданную позицию (для списков и деревьев)

· выгрузку элемента из структуры (для стека и очереди);

· выбор элемента по порядковому номеру (для списков и деревьев);

· выбор элемента по информационному полю (для списков и деревьев);

· выгрузки содержимого в файл.

Варианты заданий.

Задание №2 (варианты)

1. В качестве элемента рассматривается тип:

TElement = record

Key: Integer;

Data: TData;

end;

2. Для защиты работы студент должен представить работоспособное ПМО и файлы с исходной и выгруженной структурой.

Варианты заданий сведены в таблицу 2.1.

Таблица 2.1.

№ варианта Вид структуры Информационное поле
2.1 (a, b) Стек a) Строка b) Real
2.2 (a, b) Очередь a) Строка b) Real
2.3 (a, b) Линейный однонаправленный список a) Строка b) Real
2.4 (a, b) Линейный кольцевой список a) Строка b) Real
2.5 (a, b) Двунаправленный список a) Строка b) Real
2.6 (a, b) Двоичное дерево a) Строка b) Real

Разработка алгоритма сортировки одномерного массива

Постановка задачи: Требуется разработать программно-математическое обеспечение, реализующее алгоритм сортировки (в соответствии с вариантом задания) массива данных заданного типа по выбранному ключу.

Требования к ПМО: Структурно ПМО должно быть реализовано в виде интерфейсной части, обеспечивающей:

· задание массива из формы приложения (посредством компонента TStringGrid);

· определение ключа сортировки;

· выбор файла с исходными данными (для пакетного режима работы);

· запуск процесса сортировки;

· выбор файла для сохранения результатов сортировки;

· вывод результата сортировки,

а также предметной части, реализованной в виде класса, обеспечивающего:

· формализацию алгоритма сортировки;

· подсчет статистики (время сортировки, количество перестановок);

· чтение исходного массива из текстового файла;

· сохранение результатов сортировки в текстовом файле.

Наши рекомендации