Задание
Запрограммировать следующие алгоритмы сортировки:
- Классический прямой обмен.
- Сортировка односвязного списка.
- Прямой обмен с запониманием позиции последней перестановки.
Выполнить сравнение времени сортировки перечисленными выше методами для:
- Неупорядоченной последовательности;
- Упорядоченной последовательности;
- Упорядоченной в обратном порядке последовательности;
Данные отобразить в табличной и графической формах.
Функционал программы
- Автоматическая генерация списка различной размерности
- Выбор типа последовательности
- Сортировка списка прямым обменом и прямым обменом с запоминанием позиции последней перестановки.
- Отображение результата в табличном и графическом виде
- Реализован однозвязный список
Содержание отчета к программе
- Введение
- 1 Постановка задачи и анализ предметной области
- 1.1 Основные понятия и определения
- 1.2 Анализ требований
- 1.2.1 Требования к интерфейсу пользователя
- 1.2.2 Требования к структуре данных
- 1.2.3 Требования к программным средствам
- 2 Проектирование программы
- 2.1 Модель интерфейса
- 2.2 Проектирование структур данных
- 2.3 Структура программного обеспечения
- 3 Реализация программы
- 3.1 Кодирование
- 3.2 Диаграмма деятельности
- 4 Тестирование
- 4.1 Виды тестирования программных средств
- 4.2 Функциональное тестирование программы
- 5 Анализ результатов
- Заключение
- Список использованных источников
- Приложение А
Фрагмент программного кода
/// <summary> /// Добавление элемента в конец списка /// </summary> public void Add(int data) { // Создаем новый элемент Element elm = new Element() { Data = data }; // Если список пуст if (First == null) { // Вставляем элемент как первый First = elm; // Он же будет и последним Last = First; } // Если список не пуст else { // Устанавливаем для текущего последнего элемента ссылку на следующий элемент Last.Next = elm; // Выставляем новый элемент в конец списка Last = elm; } // Увеличиваем значение количества элементов в списке Lenght++; }
Скриншот архива с проектом
Пояснения по запуску программы
Для открытия и запуска проекта необходима Visual Studio версии не ниже 2019
shogun