Сортиро́вка (англ. sorting — классификация, упорядочение) — последовательное расположение или разбиение на группы чего-либо в зависимости от выбранного критерия. Мы часто распологаем в определенном порядке некоторые данные: список учеников класса, построение на уроке физкультуры и во многих других случаях.
Сортировка массива — это процесс распределения всех элементов массива в определенном порядке. Алгоритмов сортировки существует великое множество.
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.