Сортиро́вка (англ. sorting — классификация, упорядочение) — последовательное расположение или разбиение на группы чего-либо в зависимости от выбранного критерия. Мы часто распологаем в определенном порядке некоторые данные: список учеников класса, построение на уроке физкультуры и во многих других случаях.
Сортировка массива — это процесс распределения всех элементов массива в определенном порядке. Алгоритмов сортировки существует великое множество.
# Реализация сортировки пузырьком на языке программирования Python с помощью циклов for
# 13:39 25.09.2025
from random import randint
N = 5 # количество элементов в списке
a = []
for i in range(N):
a.append(randint(1, 99))
print(a, '- неотсортированный список') # вывод исходного неотсортированного списка
print()
for k in range(N):
print(' ', k, end=' ')
print()
# Сама сортировка методом "пузырька"
for i in range(N-1):
for j in range(N-1-i):
if a[j] > a[j+1]:
a[j], a[j+1] = a[j+1], a[j]
print(a, end=' ')
print(f'обмен {a[j]} и {a[j+1]}')
print()
print(a, '- отсортированный список') # вывод отсортированного списка
# 14:18 25.09.2025
# для ленивых
data = [5, 1, 4, 3]
sorted_data = sorted(data)
print(sorted_data) # Вывод: [1, 3, 4, 5]
print(data) # Вывод: [5, 1, 4, 3] (исходный список)
program Bubble_Sort;
// 10:41 12.03.2023
var
a: array of integer; // динамический массив
begin
var n := ReadInteger('Количество элементов > ');
a := new integer[n]; // начальный индекс = 0
for var i := 0 to N - 1 do {заполнение массива}
a[i] := Random(0, 100);
println('Исходный массив:', a);
Println(' *** Сортировку начинаем >>');
for var i := 0 to N - 1 do
begin
{ если массив УЖЕ отсортирован после очередного
цикла - flag останется true (перестановки
элементов массива не произойдет) и можно прервать
дальнейшую итерацию
}
var flag := true;
for var j := 0 to N - 2 - i do
begin
if A[j] > A[j + 1] then
begin
Swap(A[j], A[j + 1]);
flag := false; //обмен состоялся!
end;
// обмена не было, заканчиваем сортировку
if flag then continue;
end;
println(A);
Println($'Проход № {i+1} завершен');
if flag then // завершаем сортировку
begin
println('Отсортированный массив >>', a);
exit;
end;
end;
end.
// 11:04 13.03.2023
var
mas: array[1..10] of integer;
begin
for var k := 1 to 10 do
mas[k] := random(10, 99);
println(mas);
for var i := 1 to 9 do
begin
for var k := 1 to 10 - i do
if mas[k] > mas[k + 1]
then swap(mas[k], mas[k + 1]);
println(mas);
end;
end.
// 13:10 12.03.2023
// для ленивых ;)
var
a: array of integer; // динамический массив
begin
var n := ReadInteger('Количество элементов > ');
a := new integer[n]; // начальный индекс = 0
for var i := 0 to N - 1 do {заполнение массива}
a[i] := Random(0, 100);
println('Исходный массив >>', a);
Sort(a); // по возрастанию
println('Отсортированный массив >>', a);
end.