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




Сортировка Шелла быстрее метода пузырька, она похожа на метод пузырька, но, в отличие от него, начинает сравнивать не смежные, а далеко отстоящие друг от друга значения (примерно на 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, то произойдет обращение к элементу массива, находящегося в первой строке и втором столбце



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-07-22 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: