Упорядочение массива
Упорядочение (сортировка) - это расположение значений элементов .массива в порядке возрастания или убывания их значении
Упорядочение массива методом "пузырька ".
Рассмотрим алгоритм упорядочения массива по возрастанию методом "пучырь-ка", в соответствии с которым элементы массива просматриваются слева направо. Каждый предыдущий элемент сравнивается с последующим. Если предыдущий элемент больше последующего, то предыдущий и последующий элементы меняются местами.
С - простая переменная.
С := предыдущий элемент;
предыдущий элемент:= последующий элемент ;
последующий элемент:=С;
Просмотр проводится от 1-го элемента до N-1 (N - количество элементов в массиве).
Если при просмотре произошла хотя бы одна перестановка чисел, то просмотр повторяется. Указанный процесс заканчивается, когда при просмотре элементов массива никакие 2 элемента не менялись местами.
При сортировке по возрастанию самый большой элемент продвигается в правый конец массива, затем следующий за ним по величине элемент и т. д. Сказанное можно проиллюстрировать на конкретном примере:
массив А из 4-х элементов целых чисел упорядочить по возрастанию.
Рассмотрим программу упорядочения массива по возрастанию.
Пример 1. Массив А1,А2,...Ап. Алгоритм:
1. Ввод элементов массива.
2. Сортировка.
3. Вывод отсортированного массива.
Шаг 2 алгоритма.
metka: k:=0; {признак того, что массив упорядочен} FOR I-l TON- 1 DO ifa|i]>ali+ljthen begin c:-a[i];
a[i]:=a[i+l];
a[i+l]:=c;
k:=l;
end;
ifk==l then goto metka
else writeln('ynopMA04eH');
С использованием вложенных циклов шаг 2 может быть записан так:
fori:=l ton-1 do forj:=l to n-i do ifa|j]>a[j+l]then begin c:=a[j1;
a[J]:=a[J+l];
a[j+l]:=c;
end;
где a - исходный массив чисел;
n - число элементов в массиве;
i - параметр внешнего цикла;
j - параметр внутреннего цикла;
с - вспомогательная переменная, используемая для обмена.
Пример 2
Исходный массив А: 50,40,30,20,10 упорядочен по убыванию. Применим алгоритм упорядочения по возрастанию с использованием вложенных никлов-
Двумерный массив
До сих пор рассматривали массивы, каждый элемент которых содержал только один индекс. Такие массивы называются одномерными. В математике часто используются многомерные массивы (двумерные, трехмерные и т.д.). Мы рассмотрим двумерные массивы, иначе называемые матрицами. Например:
Данная матрица имеет размер 3 на 4, т. е. она состоит из трех строк и четырех столбцов. Если всю матрицу обозначить одним именем, например А, то каждый элемент матрицы будет иметь два индекса - A[ij].
Здесь первый индекс i обозначает номер строки (i=l,2,3), второй индекс j-номер столбца (j=l,2,3,4). Такую матрицу можно описать следующим образом (с использованием имени типа Т):
1-ый способ'(чаще используется) Type Т = array [1..3,1..4] of integer;
Var A: T;
2-ой способ Type Т = array [1..3] of array [1..4] of integer;
Var A: T;
Ввод элементов двумерного массива (матрицы) For i:=l to n do Forj:=l torn do Readln(A[ij]);
Печать
For i:=l to n do
begin
Forj:=l to m do
Write (A[i,j],''); {Вывод элементов одной строки матрицы }
writein; {переход на следующую строку экрана} end;
где
А- имя массива;
i-индекс строки;
j-индекс столбца;
N-количество элементов в строке;
М-количество элементов в столбце.
Дата добавления: 2015-12-11; просмотров: 1322;