mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-13 21:29:19 +02:00
* the type of the ItemCount parameter changed from PtrUInt to SizeUInt
git-svn-id: trunk@41172 -
This commit is contained in:
parent
848890e54b
commit
a2a0ed53b2
@ -22,11 +22,11 @@ interface
|
|||||||
|
|
||||||
type
|
type
|
||||||
TListSortComparer_NoContext = function(Item1, Item2: Pointer): Integer;
|
TListSortComparer_NoContext = function(Item1, Item2: Pointer): Integer;
|
||||||
TPtrListSorter_NoContext = procedure(ItemPtrs: PPointer; ItemCount: PtrUInt; Comparer: TListSortComparer_NoContext);
|
TPtrListSorter_NoContext = procedure(ItemPtrs: PPointer; ItemCount: SizeUInt; Comparer: TListSortComparer_NoContext);
|
||||||
TItemListSorter_NoContext = procedure(Items: Pointer; ItemSize, ItemCount: SizeUInt; Comparer: TListSortComparer_NoContext);
|
TItemListSorter_NoContext = procedure(Items: Pointer; ItemSize, ItemCount: SizeUInt; Comparer: TListSortComparer_NoContext);
|
||||||
|
|
||||||
TListSortComparer_Context = function(Item1, Item2, Context: Pointer): Integer;
|
TListSortComparer_Context = function(Item1, Item2, Context: Pointer): Integer;
|
||||||
TPtrListSorter_Context = procedure(ItemPtrs: PPointer; ItemCount: PtrUInt; Comparer: TListSortComparer_Context; Context: Pointer);
|
TPtrListSorter_Context = procedure(ItemPtrs: PPointer; ItemCount: SizeUInt; Comparer: TListSortComparer_Context; Context: Pointer);
|
||||||
TItemListSorter_Context = procedure(Items: Pointer; ItemSize, ItemCount: SizeUInt; Comparer: TListSortComparer_Context; Context: Pointer);
|
TItemListSorter_Context = procedure(Items: Pointer; ItemSize, ItemCount: SizeUInt; Comparer: TListSortComparer_Context; Context: Pointer);
|
||||||
|
|
||||||
PSortingAlgorithm = ^TSortingAlgorithm;
|
PSortingAlgorithm = ^TSortingAlgorithm;
|
||||||
@ -35,8 +35,8 @@ type
|
|||||||
PtrListSorter_ContextComparer: TPtrListSorter_Context;
|
PtrListSorter_ContextComparer: TPtrListSorter_Context;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure QuickSort_PtrList_NoContext(ItemPtrs: PPointer; ItemCount: PtrUInt; Comparer: TListSortComparer_NoContext);
|
procedure QuickSort_PtrList_NoContext(ItemPtrs: PPointer; ItemCount: SizeUInt; Comparer: TListSortComparer_NoContext);
|
||||||
procedure QuickSort_PtrList_Context(ItemPtrs: PPointer; ItemCount: PtrUInt; Comparer: TListSortComparer_Context; Context: Pointer);
|
procedure QuickSort_PtrList_Context(ItemPtrs: PPointer; ItemCount: SizeUInt; Comparer: TListSortComparer_Context; Context: Pointer);
|
||||||
|
|
||||||
const
|
const
|
||||||
QuickSort: TSortingAlgorithm = (
|
QuickSort: TSortingAlgorithm = (
|
||||||
@ -91,14 +91,14 @@ begin
|
|||||||
until L >= R;
|
until L >= R;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure QuickSort_PtrList_NoContext(ItemPtrs: PPointer; ItemCount: PtrUInt; Comparer: TListSortComparer_NoContext);
|
procedure QuickSort_PtrList_NoContext(ItemPtrs: PPointer; ItemCount: SizeUInt; Comparer: TListSortComparer_NoContext);
|
||||||
begin
|
begin
|
||||||
if not Assigned(ItemPtrs) or (ItemCount < 2) then
|
if not Assigned(ItemPtrs) or (ItemCount < 2) then
|
||||||
exit;
|
exit;
|
||||||
QuickSort_PtrList_NoContext(ItemPtrs, 0, ItemCount - 1, Comparer);
|
QuickSort_PtrList_NoContext(ItemPtrs, 0, ItemCount - 1, Comparer);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure QuickSort_PtrList_Context(ItemPtrs: PPointer; ItemCount: PtrUInt; Comparer: TListSortComparer_Context; Context: Pointer);
|
procedure QuickSort_PtrList_Context(ItemPtrs: PPointer; ItemCount: SizeUInt; Comparer: TListSortComparer_Context; Context: Pointer);
|
||||||
|
|
||||||
Procedure QuickSort(L, R : Longint);
|
Procedure QuickSort(L, R : Longint);
|
||||||
var
|
var
|
||||||
|
Loading…
Reference in New Issue
Block a user