Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Основные алгоритмы обработки данных: сортировка данных. Простая и быстрая сортировка. Сортировка массива методом пузырька



Одним из основных способов представления данных является массив. Массив даёт возможность реализации многих алгоритмов:Ввод данных представленных виде таблицы значений

1. Вывод данных виде таблицы2Алгоритмы перестановки элементов внутри массива3Определение мах, min элементов массива, сумма элементов массива и т. д. Задачи поиска элементов массива4Сортировка элементов массива порядке возрастания и убывания.

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

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

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

Существует много методов (алгоритмов) сортировки массивов. Рассмотрим два метода:1Метод прямого выбора.2Метод прямого обмена.

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

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

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

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

Program sortarr;/const/SIZE=5;/var/a: array[1..SIZE] of integer;

i: integer; {номер элемента, от которого ведётся поиск минимального элемента}/j: integer; {номер элемента, сравниваемого с минимальным}/buf: integer; {буфер, используемый при обмене элементов массива}/k: integer;/begin

writeln(‘Сортировка массива.’);/write(‘Введите ’, SIZE:3,’целых в одной строке ’);/writeln(‘через пробел и нажмите <Enter>’);

for k:= 1 to SIZE do read(a[k]);/writeln(‘Сортировка’);

for i:= 1 to SIZE-1 do/begin/{поиск минимального элемента в части массива от a[i] до a[SIZE]}/min:= i;/for j:= i+1 to SIZE do begin/if a[j]<a[min] then min:= j;/{поменяем местами a[min] и a[i]}/buf:= a[i];/a[i]:= a[min];/a[min]:= buf;/{выведем массив}

for k:=1 to SIZE do write(a[k],’ ‘);/writeln;/end;/end;

writeln(‘Массив отсортирован.’);/end.





Дата публикования: 2015-01-23; Прочитано: 327 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...