Реферат: Иследование методов сортировки Метод пузырька и Метод простых вставок
Для этого приложения я создам три формы которые свяжу между собой. Для Form1(она будет нашей главной формой) установим такие значения:
Свойство | Значение | Коментарий |
Caption | SortMassiv 1.0 | Строка текста, идентифицирующая компонент для пользователя |
Height | 576 | Высота формы |
Width | 836 | Ширина формы |
Position | poMainFormCenter | Позиция формы при запуске программы |
Эта форма будет содержать поля ввода и вывода отсортированного массива, а так же на ней будет располагаться кнопки для сохранения отсортированного массива, а так же компонент для отображения графа.
Первой своей форме я уже присвоил выше показанные свойства. Теперь на форме SortMass 1.0 нужно сделать меню. В Delphi имеется два компонента, представляющие меню: MainMenu - главное меню, и PopupMenu -всплывающее меню или контекстное меню. Оба эти компонента расположены на вкладке Standard . Для своего приложения меню я буду использовать MainMenu.Для этого я его расположил на форме и двойным щелчком мыши по компоненту открыл конструктор меню и создал там три раздела меню и для каждого из них сделал свои подразделы:
· Меню→ Получить массив→ Сохранить массив→ Сравнение методов;
· О программе;
· Справка;
Далее я приступил к созданию «рабочего поля» программы, разместил на форму два компонента Panel , и разделил их между собой компонентом Splitter этот компонент позволяет перемещать границы, разделяющие различные панели, изменяя их относительные размеры. На одну из панелей разместил два компонента Label для отображения исходного, и отсортированного массива. Далее на одну панель расположил компонет Chart – этот компонент позволяет строить различные диаграммы, и графики. Для Chart установим такие значения:
Свойство | Значение | Коментарий |
TChartSeriesList |
Исходный, Отсортированный | Строка в которой указываются серии для отображения их на графике |
Title | Иллюстрация сортировки | Определяет заголовок формы |
Эта форма будет содержать поля ввода и вывода отсортированного массива, а так же на ней будет располагаться кнопки для сохранения отсортированного массива, а так же компонент для отображения графа.
Первой своей форме я уже присвоил выше показанные свойства. Теперь на форме SortMass 1.0 нужно сделать меню. В Delphi имеется два компонента, представляющие меню: MainMenu - главное меню, и PopupMenu -всплывающее меню или контекстное меню. Оба эти компонента расположены на вкладке Standard . Для своего приложения меню я буду использовать MainMenu.Для этого я его расположил на форме и двойным щелчком мыши по компоненту открыл конструктор меню и создал там три раздела меню и для каждого из них сделал свои подразделы:
· Меню→ Получить массив→ Сохранить массив→ Сравнение методов;
· О программе;
· Справка;
Далее я приступил к созданию «рабочего поля» программы, разместил на форму два компонента Panel , и разделил их между собой компонентом Splitter этот компонент позволяет перемещать границы, разделяющие различные панели, изменяя их относительные размеры. На одну из панелей разместил два компонента Label для отображения исходного, и отсортированного массива. Далее на одну панель расположил компонет Chart – этот компонент позволяет строить различные диаграммы, и графики. Для Chart установим такие значения:
Свойство | Значение | Коментарий |
TChartSeriesList |
Исходный, Отсортированный | Строка в которой указываются серии для отображения их на графике |
Title | Иллюстрация сортировки | Определяет заголовок формы |
При двойном щелчке по компоненту Chart вызываем конструктор диаграмм, в котором можно выбрать из стандартных типов диаграмм нужный мне тип. Также в этом конструкторе на вкладкеSeries выберу нужный цвет для каждой из созданных серий.
Далее поставил на форму кнопки при нажатии на которых будут выполнятся такие действия как : сохранение отсортированного массива, сравнение методов сортировки массивов, открытия массива из файла *txt, отчистка полей для повторной сортировки. Также для создания интерфейса программы использовал такие компоненты как : StatusBar , Timer (для отображения времени и даты в строке состояния),ImeageList ( для отображения иконок в главном меню), SaveDialog (для сохранения отсортированного массива), OpenDialog (для открытия исходного массива), GroupBox , RadioGroup .
Создал вторую форму, сделав команду File-New-Form, и задал такие же свойства как и для главной формы.Фторая форма предназначена для отображения диаграммы сравнения двух способов сортировки (метод пузырька, метод простых вставок), а так же для сохранения результата сравнения двух методов сортировки в файл *txt. Для создания интерфейса второй формы использовал такие компоненты как: StatusBar , Timer (для отображения времени и даты в строке состояния),ImeageList ( для отображения иконок в главном меню), SaveDialog (для сохранения результата сравнения двух методов сортировки),Chart ( для отображения диаграммы сравнения), ProgressBar( для отображения хода процесса сравнения).
Создание третей формы нужно для отображения одного из разделов меню: О программе. На этой форме будут указываться версия продукта, и дополнительная информация о программе.Создав третюю форму присвоил ей такие значения:
Свойство | Значение | Коментарий |
Caption | О программе | Строка текста, идентифицирующая компонент для пользователя |
Height | 211 | Высота формы |
Width | 308 | Ширина формы |
Position | poMainFormCenter | Позиция формы при запуске программы |
biMinimaze | false | Окно не сворачивается |
biMaximaze false | false | Окно не разворачивается |
BorderStyle | bsSizeable | Нельзя поменять размер окна |
Закончил рабочее проектирование созданием справки и подключения файла *hlpк разработанному приложению.
3 МЕТОДЫ СОРТИРОВОК
5.1Общее.
Основными операциями, выполняемыми над массивами, являются упорядочение (сортировка) записей и поиск в массиве записи по заданному условию( по ключу ). Сортировка является операцией расстановки записей массива в определенном порядке в соответствии с некоторым критерием упорядочения. Сортировка осуществляется в соответствии со значением ключей всех записей (напр., упорядочение фамилий по алфавиту или чисел по возрастанию ). Существует достаточно много методов сортировки, принципиально отличающихся друг от друга. Если массив целиком помещается в оперативной памяти ЭВМ, то его упорядочение называют внутренним. Если для хранения упорядочиваемых данных используются внешнее запоминающее устройство, то такое упорядочение называют внешним. Критериями оценки методов сортировки являются:
С - количество операций сравнения пар ключей,
Р - число перестановок элементов ,
S - резерв памяти.
Среднее количество операций сравнения зависит от метода сортировки и при рациональном выборе метода достигает некоторого минимума, зависящего от n - размера массива (размер массива - количество содержащихся в нём записей). Методы внутренней сортировки можно разделить на две группы:
- методы, не требующие резерва памяти;