![]() |
![]() ![]() ![]() ![]() |
|
Быстрый алгоритм сортировки больших массивовDelphi , Синтаксис , Сортировка
Автор: Delirium
{ **** UBPFD *********** by delphibase.endimus.com ****
>>
Сортировка вариантного массива методом Шелла.
Зависимости: Variants
Автор: Delirium, Master_BRAIN@beep.ru, ICQ:118395746, Москва
Copyright: Delirium (Master BRAIN)
Дата: 4 июня 2002 г.
***************************************************** }
procedure Sorting(Down: boolean; var Data: Variant);
var
Skach, m, n: integer;
St: boolean;
Tmp: Variant;
begin
Skach := VarArrayHighBound(Data, 1) - 1;
while Skach > 0 do
begin
Skach := Skach div 2;
repeat
St := True;
for m := 0 to VarArrayHighBound(Data, 1) - 1 - Skach do
begin
n := m + Skach;
if (Down and (Data[n] < Data[m]))
or ((not Down) and (Data[n] > Data[m])) then
begin
Tmp := Data[m];
Data[m] := Data[n];
Data[n] := Tmp;
St := False;
end;
end;
until St;
end;
end;
Пример использования:
procedure TForm1.Button1Click(Sender: TObject);
var
A: Variant;
i: integer;
begin
A := VarArrayCreate([0, Memo1.Lines.Count - 1], varVariant);
for i := 0 to Memo1.Lines.Count - 1 do
A[i] := Memo1.Lines.Strings[i];
Sorting(True, A);
for i := 0 to Memo1.Lines.Count - 1 do
Memo1.Lines.Strings[i] := A[i];
end;
Это программное обеспечение на языке Delphi, которое реализует алгоритм сортировки Shell, который является вариацией алгоритма вставки, использующим подход разделения и объединения для улучшения эффективности. Процедура Алгоритм работает следующим образом:
Пример использования показывает, как использовать процедуру Некоторые предложения по улучшению:
В целом, это простое и эффективное реализация алгоритма Shell sort в Delphi, но она может быть улучшена использованием болееadvanced sorting algorithms and data types. В статье описан быстрый алгоритм сортировки больших массивов с помощью метода Шелла, реализованный на языке Delphi и предназначенный для использования в программном обеспечении. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш :: Главная :: Сортировка ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||