Сортировка столбцов в StringGridDelphi , Синтаксис , СортировкаСортировка столбцов в StringGridАвтор: http://www.sources.ru procedure GridSort(StrGrid: TStringGrid; NoColumn: Integer); var Line, PosActual: Integer; Row: TStrings; begin Renglon := TStringList.Create; for Line := 1 to StrGrid.RowCount - 1 do begin PosActual := Line; Row.Assign(TStringlist(StrGrid.Rows[PosActual])); while True do begin if (PosActual = 0) or (StrToInt(Row.Strings[NoColumn - 1]) >= StrToInt(StrGrid.Cells[NoColumn - 1, PosActual - 1])) then Break; StrGrid.Rows[PosActual] := StrGrid.Rows[PosActual - 1]; Dec(PosActual); end; if StrToInt(Row.Strings[NoColumn - 1]) < StrToInt(StrGrid.Cells[NoColumn - 1, PosActual]) then StrGrid.Rows[PosActual] := Row; end; Renglon.Free; end; Вот перевод текста на русский язык: Это процедура Delphi, называемая Рассмотрим, как работает процедура:
Алгоритм сортировки, используемый здесь, - простой алгоритм пузырьковой сортировки, который имеет время сложности O(n^2), где n - количество строк в таблице. Это может не быть эффективно для больших данных. Вот некоторые предложения по улучшению:
Вот пример реализации более эффективного алгоритма сортировки,such as QuickSort:
В этом примере используется алгоритм QuickSort, который имеет среднеквадратичное время сложности O(n log n). Обратите внимание, что это только один из примеров реализации более эффективного алгоритма сортировки; есть много других подходов, которые зависят от вашей конкретной задачи и ограничений. Проверяется и отсортирован алгоритм для сортировки столбцов в TStringGrid, который изменяет порядок строк в таблице на основе значения указанного столбца. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Сортировка ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |