Сортировка массива

Под сортировкой массива подразумевается процесс перестановки элементов с целью упорядочивания их в соответствии с каким-либо критерием. Например, если имеется массив целых а, то после сортировки по возрастанию должно выполняться условие:

а[1] <= а[2] <=…<= а[n]

где n – верхняя граница индекса массива.

Так как можно сравнивать переменные типов integer, real, char и string, то можно сортировать массивы этих типов.

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

Существует много методов (алгоритмов) сортировки массивов, например:

1) Метод прямого выбора;

2) Метод прямого обмена;

3) Сортировка методом прямого выбора.

1) Алгоритм сортировки массива по возрастанию методом прямого выбора может быть представлен:

1. просматривая массив от первого элемента, найти минимальный элемент и поместить его на место первого, а первый на место минимального.

2. просматривая массив от второго элемента, найти минимальный элемент и поместить его на место второго элемента, а второй – на место минимального.

3. и так далее до предпоследнего элемента.

Пример алгоритма (рисунок И.1) и программы, сортирующей элементы массива по возрастанию.

Рисунок И.1 – Блок-схема программы сортирования элементов массива по возрастанию

program Primer;

const n=5; {описание константы}

Var

a: array [1..n] of integer; {объявление одномерного массива}

i,j,min,buf,k:integer;

Begin

writeln(‘введите элементы массива’);

for i:=1 to n do

readln(a[i]); {заполнение одномерного массива}

for i:=1 to n-1 do {сортировка}

Begin

min:=i;

for j:=i+1 to n do

Begin

if a[j]<a[min] then min:=j;

buf:=a[i];

a[i]:=a[min];

a[min]:=buf;

end;

end;

for k:=1 to n do write(a[k],’ ‘); {выво дмассива на экран}

readln;

end.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: