|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Leonid Troyanovsky 2:5020/400 06 Sep 2001 21:02:02 To : Viktor Karev Subject : Помогите с сортировкой -------------------------------------------------------------------------------- Viktor Karev wrote: GS> Подскажите пожайлуста наиболее быстрый алгоритм сортировки такого GS> массива по p1 и p2 одновременно. LT> и имеешь в List указатели, отсортированные QuickSort по-твоему. > Если подразумевается отсортировать сначала по р1, а потом по р2, то > quicksort лучше не использовать, эта сортировка неустойчива. Лучше > использовать сортировку слиянием. Имелось ввиду, что при написанием MySortCriteria можно реализовать любую функцию предпочтительности (кажется, так это звучит). Hапример, (в духе составных индексов dbf): function MySortCriteria(Item1, Item2: Pointer): Longint; type PRecord = ^TRecord; var s1: String; s2: String; begin s1 := Format('%10.10d%10.10d', [PRecord(Item1)^.p1, PRecord(Item1)^.p2]); s2 := Format('%10.10d%10.10d', [PRecord(Item2)^.p1, PRecord(Item2)^.p2]); Result := AnsiCompareStr(s1, s2); end; -- С уважением, LVT. --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/4427c5fc291b.html, оценка из 5, голосов 10
|