Сортировка массива. Способы сортировки массива.
Сортировка Это перегруппирование заданного множества объектов в определенном порядке
Цитаты двух великих людей "Даже если бы сортировка была почти бесполезна, нашлась бы масса причин заняться ею! Изобретательные методы сортировки говорят о том, что она и сама по себе интересна как объект исследования." /Д. Кнут/ "Создается впечатление, что можно построить целый курс программирования, выбирая примеры только из задач сортировки." /Н. Вирт/
Суровый закон сортировки Чем легче для понимания метод сортировки массива, тем ниже его эффективность.
Даны две целочисленные переменные х и y. Составить фрагмент программы, после выполнения которого значения этих переменных распределяются в порядке убывания.... if x<y then begin t:=x; x:=y; y:=t; end;...
Составить фрагмент программы поиска максимального числа из трех введенных с клавиатуры чисел. Алгоритм Пусть а, b, c - вводимые с клавиатуры числа, Max - максимальное из их значений. На первом шаге предположим, что а - максимальное из чисел и поэтому Max:=a. Затем сравним значение предполагаемого максимума со значениями переменных b и с. Если значение m окажется меньше, чем значение очередной переменной, то переопределим значение максимума.... m:=a; if m<b then m:=b; if m<c then m:=c;...
Дан массив а, состоящий из 10 элементов. Составить программу поиска максимального элемента массива. Используем идею предыдущей задачи.... Max:=a[1]; for i := 2 to 10 do if Max<a[i] then Max := a[i];...
Программа-шаблон для работы с массивами Рrogram Sorting; Сonst n =... ; {количество элементов в массиве} Type TArray = array [1..n] of integer; Procedure FillArray (Var a: TArray); Var i: integer; Begin for i: = 1 to n do a [i] := Random(100); End; {конец процедуры}
Программа-шаблон для работы с массивами Procedure PrintArray (a: TArray); Var i: integer; Begin for i: = 1 to n do write (a [i]: 3, ' '); writeln; End; Begin {Главная программа} WriteLn('Сортировка МЕТОДОМ...'); WriteLn('Заполняем исходный массив: '); FillArray (a); PrintArray (a); AnySort (a, b);{имя процедуры, реализующей какой-либо метод сортировки} WriteLn('Отсортированный массив: '); PrintArray (b); End.
Вспомогательные процедуры и функции Функция, которая ищет минимальный элемент правее некоторого заданного и возвращает его номер в качестве результата. Аргументами функции являются номер элемента массива и обрабатываемый массив; Большинство методов сортировок основаны на обмене двух чисел. Для этой цели предназначена процедура, которая в качестве параметров берет два числа и меняет их значения; Также Вам пригодится процедура, которая берет элемент с индексом i, перемещает его на место элемента с номером j. А все элементы, которые имеют индексы от j до i-1 сдвигает на одну позицию вправо.