Меню

Сортировка данных

Массивом называется структура данных, состоящая из компонентов одного типа – элементов массива. Элементы массива пронумерованы; номер элемента называется его индексом. В языке Паскаль индекс массива указывается в квадратных скобках после имени массива, например: a[4].

Рис. 1. Хранение массива в памяти программыв языке Паскаль

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

Type имя_типа_массива = array [минимальный_индекс..максимальный_индексof тип_элемента;
Имя_типа_массива впоследствии используется для описания переменных этого типа:
var имя_переменной_массиваимя_типа_массива;

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

Основными операциями, связанными с массивами, являются инициализация массива (наполнение массива начальными значениями), сортировка и поиск элементов и вывод значений массива на экран. Возможны следующие способы инициализации: обнуление, ввод с клавиатуры, присвоение значений другого массива, вычисление по определённой формуле, формирование массива с помощью генератора случайных чисел.

Сортировка – это упорядочивание элементов в списке. Если элемент обладает сложной структурой, то сортировка производится по одному или нескольким полям – ключам сортировки.

Алгоритмы сортировки оцениваются, как и другие алгоритмы, по затрачиваемому времени и по дополнительной памяти, которая требуется в процессе выполнения алгоритма. Лучшие по эффективности алгоритмы оцениваются как Θ (n log n). Ряд алгоритмов требует дополнительных затрат памяти, обычно порядка Θ (n) (не считая памяти, в которой хранится исходный массив).

Наиболее известные алгоритмы сортировки – пузырьком, перемешиванием, слиянием, выбором, а также быстрая сортировка (самый эффективный из известных алгоритмов для упорядочивания больших по размеру случайных чисел).

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