![]() |
![]() ![]() ![]() ![]() |
|
Перетасовка строк в спискеDelphi , Компоненты и Классы , Списки
Автор: Dimka Maslov
{ **** UBPFD *********** by delphibase.endimus.com ****
>>
Процедура тасует строки в списке.
List - Список строк
MoveCount - необязательный параметр, задающий количество перестановок,
если этот параметр опущен, либо меньше или равен нулю, его значение
принимается равным C*C-C, где C - количество строк в списке.
Зависимости: SysUtils, Classes
Автор: Dimka Maslov, mainbox@endimus.ru, ICQ:148442121, Санкт-Петербург
Copyright: Dimka Maslov
Дата: 18 ноября 2002 г.
***************************************************** }
procedure ShuffleStrings(List: TStrings; MoveCount: Integer = 0);
var
i, N, C: Integer;
Index1, Index2: Integer;
Str: string;
Obj: TObject;
begin
List.BeginUpdate;
try
C := List.Count;
N := MoveCount;
if N <= 0 then
N := C * C - C;
for i := 0 to N do
begin
Index1 := Random(C);
Index2 := Random(C);
Str := List.Strings[Index1];
Obj := List.Objects[Index1];
List.Strings[Index1] := List.Strings[Index2];
List.Objects[Index1] := List.Objects[Index2];
List.Strings[Index2] := Str;
List.Objects[Index2] := Obj;
end;
finally
List.EndUpdate;
end;
end;
Перевод контента на русский язык: Процедура для перемешивания списка строк в Delphi! Давайте разбить ее и предложим некоторые улучшения. Исходный код Процедура Процедура начинается с обновления списка для модификаций (используя После цикла процедура заканчивает обновление (используя Улучшения Вот несколько предложений для улучшения:
1. Используйте более описательное имя переменной: вместо Вот отредактированный код: В целом, исходный код хорошо структурирован и легко читаем. Эти улучшения направлены на то, чтобы сделать его более эффективным, читаемым и надежным. Процедура ShuffleStrings перемешивает строки в списке, количество перестановок задается параметром MoveCount или принимается равным квадрату количества строк в списке. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||