Быстрый алгоритм сортировки больших массивов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 прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Сортировка ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |