Форум: "Прочее";
Текущий архив: 2016.07.24;
Скачать: [xml.tar.bz2];
ВнизУдивительный QuickSort Найти похожие ветки
← →
DayGaykin © (2015-10-11 19:15) [0]Простой пример:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils, Classes;
function Cmp(List: TStringList; Index1, Index2: Integer): Integer;
begin
Writeln("Compare: ", Index1, " ", Index2);
Result := CompareStr(List[Index1], List[Index2]);
end;
var
SL: TStringList;
begin
try
SL := TStringList.Create;
try
SL.Add("1");
SL.Add("2");
SL.Add("3");
SL.Add("4");
SL.CustomSort(Cmp);
Writeln(SL.Text);
finally
SL.Free;
end;
except
on E: Exception do
Writeln(E.ClassName, ": ", E.Message);
end;
readln;
end.
Вывод:
Compare: 0 1
Compare: 1 1
Compare: 3 1
Compare: 2 1
Compare: 1 1
Compare: 2 2
Compare: 3 2
Compare: 2 2
1
2
3
4
Вопрос: зачем функция Cmp вызывается с одинаковыми значениями в параметрах Index1 и Index2?
Ведь заведомо известно, что во-первых, строка равна сама себе, во-вторых строку все-равно бессмысленно менять местами саму с собой.
← →
картман © (2015-10-11 19:37) [1]http://guildalfa.ru/alsha/node/10
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2016.07.24;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c