Задание
Запрограммировать следующие алгоритмы сортировки:
- Классический прямой обмен.
- Сортировка односвязного списка.
- Прямой обмен с запониманием позиции последней перестановки.
Выполнить сравнение времени сортировки перечисленными выше методами для:
- Неупорядоченной последовательности;
- Упорядоченной последовательности;
- Упорядоченной в обратном порядке последовательности;
Данные отобразить в табличной и графической формах.
Функционал программы
- Автоматическая генерация списка различной размерности
- Выбор типа последовательности
- Сортировка списка прямым обменом и прямым обменом с запоминанием позиции последней перестановки.
- Отображение результата в табличном и графическом виде
- Реализован однозвязный список
Содержание отчета к программе
- Введение
- 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
Телеграм
-