00001
00010 #ifndef dkutil_c_Sort__h
00011 #define dkutil_c_Sort__h
00012
00013 #include "dkcOSIndependent.h"
00014
00015
00016
00017 typedef int (WINAPIV *DKC_SORT_COMPARE_TYPE)(const void *elem1, const void *elem2);
00018
00022 DKC_EXTERN void WINAPI dkcShellSort( void *base,size_t num,size_t width,DKC_SORT_COMPARE_TYPE compare);
00023
00027 DKC_EXTERN void WINAPI dkcCombSort( void *base,size_t num,size_t width,DKC_SORT_COMPARE_TYPE compare);
00028
00032 DKC_EXTERN void WINAPI dkcBubbleSort( void *base,size_t num,size_t width,DKC_SORT_COMPARE_TYPE compare);
00033
00038 DKC_EXTERN void WINAPI dkcBitonicSort( void *base,size_t num,size_t width,DKC_SORT_COMPARE_TYPE compare);
00039
00044 DKC_EXTERN void WINAPI dkcQuickSort( void *base,size_t num,size_t width,DKC_SORT_COMPARE_TYPE compare);
00050 DKC_EXTERN void WINAPI dkcMultiPartitionSort( void *base,size_t num,size_t width,DKC_SORT_COMPARE_TYPE compare);
00051
00052
00053 DKC_EXTERN void WINAPI dkcBlockSortEncode(void *buff,size_t buffsize);
00054
00055 DKC_EXTERN void WINAPI dkcBlockSortDecode(void *buff,size_t buffsize);
00056
00067
00068
00069 DKC_EXTERN int WINAPI dkcDistCountSortInt(size_t num, const int *src, int *dest,int Min_,int Max_);
00071 DKC_EXTERN int WINAPI dkcDistCountSortShort(size_t num, const short *src, short *dest,short Min_,short Max_);
00073 DKC_EXTERN int WINAPI dkcDistCountSortChar(size_t num, const char *src, char *dest,char Min_,char Max_);
00074
00075
00076 #endif //end of include once