kaoloq / DreamTeam

Алгоритм поразрядной сортировки на Java

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DreamTeam

Команда:

  Кушкоева Анастасия
  Давкаева Валентина 
  Судакова Полина

Спецификация программы поразрядной сортировки RadixSort

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

Программа должна выполнять сортировку элементов типа int и String поразрядным методом и осуществлять визуализацию работы данного алгоритма. Она должна обладать графическим интерфейсом пользователя (GUI) с возможностью ручного ввода элементов для сортировки.


Описание алгоритма и структуры данных

Предназначен для сортировки целых чисел, записанных цифрами, и строк, являющихся набором символов.

· элементы перебираются по порядку и группируются по самому младшему разряду;
       · Возникает новая последовательность.
·  Затем группируются по следующему разряду с конца, затем по следующему и т.д. пока не будут перебраны все разряды, от младших к старшим.

Основная структура данных - массив.


Формат входных и выходных данных

Входные данные:

  вручную: в окошке для ввода пользователь вписывает через пробел элементы данных для сортировки; 
  с файла: срабатывает при нажатии на кнопку "Ввод с файла";
  генерируются программой с указанием области данных, для чисел - количество элементов и их область определения, для строк - количество элементов и их длина.

Выходные данные:

  результат работы программы заносится в файл и на экран как отсортированный массив элементов данных.

Примерный вариант GUI

Иллюстрация к проекту

План разработки

  1. Создание прототипа: к этому шагу будет создан класс, отвечающий за GUI, и реализован некоторый интерфейс к нему.

  2. Первая версия: на этом шаге будет реализован класс, отвечающий за работу самого сортировочного алгоритма.

  3. Будет реализован ввод из файла, добавление окна с комментариями на текущий шаг.

  4. Реализовать базовый набор тестов.

  5. Вторая версия: реализация пошаговой работы программы.

  6. Третья (конечная) версия: добавление возможности генерация входных данных,

    анимация движения,

    подсветка текущего действия.

UML - диаграмма

Иллюстрация к проекту

Распределение ролей в бригаде

Роли в бригаде распределены следующим образом:

  · Кушкоева Анастасия: реализация алгоритма сортировки внутри класса и методов взаимодействия с ним; написание отчета.
  · Судакова Полина: написание спецификации программы; проектирование системы классов и их взаимодействия; связывание готовых классов программы; написание отчета.
  · Давкаева Валентина: реализация GUI и методов взаимодействия с ним; написание отчета.

About

Алгоритм поразрядной сортировки на Java


Languages

Language:Java 100.0%