Сортировка двух связанных списков по целочисленным значениям одного из нихDelphi , Синтаксис , СортировкаСортировка двух связанных списков по целочисленным значениям одного из них
Автор: ___Nikolay procedure SortTwoListsByIntValues(lbNum, lbNames: TStrings); var i, j, b_val, b_j: integer; b_val_name: string; begin if lbNum.Count > 1 then begin for i := 0 to lbNum.Count - 2 do begin b_val := StrToInt(lbNum[i]); b_val_name := lbNames[i]; b_j := i; for j := i + 1 to lbNum.Count - 1 do begin if StrToInt(lbNum[j]) < b_val then begin b_val := StrToInt(lbNum[j]); b_val_name := lbNames[j]; b_j := j; end; end; lbNum[b_j] := lbNum[i]; lbNum[i] := IntToStr(b_val); lbNames[b_j] := lbNames[i]; lbNames[i] := b_val_name; end; end; end; Программный процесс Описание кода:
Алгоритм, используемый в этом коде, - это простая реализация алгоритма пузырьковой сортировки, который не эффективен для больших данных. Более эффективный подход бы использование алгоритмов сортировки, таких как quicksort или mergesort. Альтернативное решение с использованием встроенной функциональности Delphi:
В этом коде мы используем метод Затем вызываем Обратите внимание, что это альтернативное решение предполагает, что целочисленные значения в первом списке уникальны, и соответствующие строковые значения во втором списке должны сохранять свой оригинальный порядок при сортировке. Если это не так, может потребоваться более сложный алгоритм сортировки. В статье предлагается процедура для сортировки двух связанных списков по целочисленным значениям одного из них, используя алгоритм простой сортировки вставками. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Сортировка ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |