Сортировка массива целых чисел по алгоритму 'Нахождение первого большего элемента' в Delphi
В данной статье мы рассмотрим, как отсортировать массив целых чисел в Delphi 7 с использованием алгоритма 'Нахождение первого большего элемента'. Алгоритм заключается в следующем: для каждого элемента массива мы находим первый больший элемент, следующий за ним, и вычисляем разницу между их индексами. Эта разница и будет значением для данного элемента в результирующем массиве.
Пример входного массива:
AR: array [0..5] of integer = (6, 5, 4, 8, 9, 7);
Алгоритм:
Берем первый элемент массива AR (6).
Находим первый больший элемент, следующий за ним (9).
Вычисляем разницу между их индексами (4).
Записываем это значение как первый элемент результирующего массива.
Повторяем шаги 2-4 для каждого элемента массива AR.
Ожидаемый результат:
OutValue = 4-3-2-1-0-0
Решение:
Ниже приведен пример кода на Object Pascal (Delphi), который реализует данный алгоритм:
program SpecialArraySort;
{$APPTYPE CONSOLE}
uses
SysUtils;
procedure SortArray(const InputArray: TArray<Integer>; var OutputArray: TArray<Integer>);
var
i, j, value, offset: Integer;
begin
SetLength(OutputArray, Length(InputArray));
// Generate output
for i := 0 to High(InputArray) do begin
value := InputArray[i];
offset := 0;
for j := i + 1 to High(InputArray) do begin
if value < InputArray[j] then begin
value := InputArray[j];
offset := j - i;
end{if};
end;
OutputArray[i] := offset;
end;
end;
var
InputArray: array [0..5] of Integer = (6, 5, 4, 8, 9, 7);
OutputArray: array [0..5] of Integer;
begin
SortArray(InputArray, OutputArray);
// Print output
for i := 0 to 5 do begin
Write(IntToStr(OutputArray[i]) + ' ');
end;
Readln;
end.
Этот код определяет процедуру SortArray, которая принимает входной массив и возвращает результирующий массив. В главной части программы мы создаем входной массив InputArray, вызываем процедуру SortArray и выводим результат на консоль.
Дополнительные примеры:
InputArray: (1, 2)
OutputArray: (1, 0)
InputArray: (6, 5, 9, 7, 8, 4)
OutputArray: (2, 1, 0, 1, 0, 0)
Надеюсь, данная статья помогла вам разобраться с сортировкой массива целых чисел по алгоритму 'Нахождение первого большего элемента' в Delphi. Если у вас остались вопросы, не стесняйтесь задавать их в комментариях!
Статья о сортировке массива целых чисел в Delphi 7 с использованием алгоритма 'Нахождение первого большего элемента'.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS