Вы находитесь на странице: 1из 8

ПРОГРАММИРОВАН

ИЕ НА ЯЗЫКЕ
ПАСКАЛЬ
Сортировка массивов «Пузырьковым» методом.
Сортировка
■ Сортировка – это расстановка элементов массива в заданном порядке (по возрастанию,
убыванию, последней цифре, сумме делителей, …).

■ Задача: переставить элементы массива в порядке возрастания.

■ Алгоритмы:
• сортировка обменом – «пузырьковая»
• сортировка выбором
• сортировка вставками
• сортировка подсчетом
Метод пузырька
■ Идея – пузырек воздуха в стакане воды поднимается со дна вверх.
■ Для массивов – самый маленький ("легкий") элемент перемещается вверх
("всплывает").

1-й проход: • сравниваем два соседних


4 4 4 4 1 элемента; если они стоят
5 5
«неправильно», меняем
5 1 4
их местами
2 2 1 5 5
• за 1 проход по массиву
1 1 2 2 2
3
один элемент (самый
3 3 3 3
маленький) становится на
свое место
Метод пузырька

2-й проход: 3-й проход:


1 1 1 1 1 1 1 1 1
4 4 4 2 2 2 2 2 2
5 5 2 4 4 4 3 3 3
2 2 5 5 5 3 4 4 4
3 3 3 3 3 5 5 5 5

! Для сортировки массива из N элементов нужен


N-1 проход (достаточно поставить на свои места N-1
элементов).
Метод пузырька

1-й проход:
for j:= N-1 downto 1 do
if A[j+1]< A[j] then begin
{ поменять местами A[j] и A[j+1] }
end;
единственное
отличие!
2-й проход:
for j:= N-1 downto 2 do
if A[j+1]< A[j] then begin
{ поменять местами A[j] и A[j+1] }
end;
Метод пузырька

for i:= 1 to N-1 do


for j:= N-1 downto i do
if A[j+1]< A[j] then begin
{ поменять местами A[j] и A[j+1] }
end;
Пример программы с пузырьковым
методом
Присвоение массиву Пузырьковый метод
Объявление массива
элементов сортировки

program lab_4; mas[1]:=-0.5 ; if mas[j]>mas[j+1]


const mas[2]:=4.3; then
N=9; mas[3]:=-2.1; begin
var mas[4]:=1.5; r:=mas[j];
mas: array [1..N] of mas[5]:=-5.1; mas[j]:=mas[j+1];
real; mas[6]:=6.3; mas[j+1]:=r;
i,j: integer; mas[7]:=-4.5; end;
r:real; mas[8]:=2.8; for i:=1 to N do
mas[9]:=-6.5; writeln(mas[i]);
end.
Практика

■ Задача 1.
Массив из 10 элементов отсортировать по возрастанию методом простого
перебора. Присвоить массиву рандомные числа в диапазоне [-30;100]

Вам также может понравиться