|  | 
|      | 
|   | 
| Сортировка двух связанных списков по целочисленным значениям одного из них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 прямо в свой смартфон. Подпишитесь на наш  :: Главная :: Сортировка :: 
 | ||||
|  ©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||