Другие методы сортировки

Сортировка Шелла быстрее метода пузырька, она похожа на метод пузырька, но, в отличие от него, начинает сравнивать не смежные, а далеко отстоящие друг от друга значения (примерно на N/2) и сортирует все эти значения, а затем уменьшает расстояние между сравниваемыми значениями. На последнем проходе расстояние между ними равно 1 и поэтому фактически этот проход выполняется по методу пузырька.

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

Если нам требуется отсортировать массив А(100) , то надо ввести индекс I(100), лучше всего целочисленный, если такая возможность предусмотрена в системе (это сократит занимаемую массивом память), и задать начальные значения его элементов операторами

FOR L=0 TO 100

I(L) =L

NEXT L

Для индекса должно выполняться соотношение

I(исходная позиция) = новая позиция

поэтому перед началом сортировки I(1) = 1, I(2) = 2 и т. д. При сортировке во время каждого прохода сравниваются значения изА, определенные по I( ), а переставляются значения индекса в I( ).

11cимвольные функции.назначение синтаксис.это один из способов записи алгоритмов, то в языках программирования должны быть средства для записи вспомогательных алгоритмов (см. гл. 4 п. 1.4). Такие средства есть. Это процедуры и функции Процедура и функция имеют такую же структуру, как и программа, т. е. раздел описаний и тело, однако, в отличие от нее, процедура и функция должны иметь заголовок. Еще одно отличие: в конце процедуры и функции ставится не точка, а точка с запятой.Заголовок процедуры начинается с ключевого слова procedure, за которым через один или несколько пробелов следует имя, выбранное программистом для этой процедуры. По правилам «хорошего тона» имя процедуры должно соответствовать ее назначению. Имя Exchange (обмен) вполне отвечает задаче данной процедуры. Вслед за именем процедуры в круглых скобках указывается список формальных параметровчто при составлении вспомогательного алгоритма четко оговариваются входные и выходные данные. Именно они и указываются в этом списке: перечисляются имена и типы входных и, возможно, выходных данных.. ы. Тело процедуры задает лишь способ обработки параметров, указанных в заголовке: какие действия нужно с ними выполнить. Данное определение процедуры находится в разделе описаний программы и никоим образом не влечет выполнения каких-либо действий с параметрами (поэтому их и называют формальными).Чтобы заставить процедуру работать, следует ее вызвать в программе, указав имя и список фактических параметров, т. е. заменив формальные имена в ее заголовке на имена тех фактических данных, с которыми процедура должна выполнить указанные действия10 Описание и обработка массивов

Массив данных представляет собой последовательность однотипных простых переменных. Каждая отдельно взятая переменная называется элементом массива. Каждому элементу массива может быть присвоено одно числовое или символьное значение, поэтому различаются массивы числовые и символьные. Кроме того, массивы могут быть одномерными и многомерными.

Одномерный массив (или вектор) представляет собой строку или столбец переменных. Двумерный массив (или матрица А) представляет собой таблицу, в которой расположены элементы в m строках и n столбцах.Размерностью матрицы называется произведение m x n, где m – число строк, n – число столбцов матрицы. Размерность двумерного массива записывается следующим образом: (m, n), где m и n называются индексами. Индекс определяет положение элемента массива данных относительно его начала. Значения индексов массивов после загрузки системы изменяются от 0 до n-1 для первого и последнего элементов строки соответственно; от 0 до m-1 для первого и последнего элементов столбца.При обращении к элементам массива указывается имя массива и в скобках индекс (или индексы) элементов массива. Например М(2), А(1,2). Такое обращение однозначно определяет выбор единственного элемента массива данных.Индексы в программе можно записывать не только с помощью целых чисел, но и посредством любых арифметических выражений, например М(I,J). Если переменные индексов во время выполнения программы будут иметь значения, например I=1, J=2, то произойдет обращение к элементу массива, находящегося в первой строке и втором столбце

03 — Введение в алгоритмы. Знакомство с алгоритмами сортировки


Похожие статьи.

Понравилась статья? Поделиться с друзьями: