home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / magazine / pcmagazi / 1992 / 04 / sort.h < prev    next >
C/C++ Source or Header  |  1991-11-25  |  914b  |  51 lines

  1. // sort.h
  2.  
  3. #if !defined(SORT_H)
  4. #define SORT_H
  5.  
  6.  
  7. #include<stdlib.h>
  8.  
  9. #define FAR far
  10. typedef const void far * far *FARPPV;
  11. typedef const char far * far *FARPPC;
  12.  
  13. typedef int cdecl   CmpFunc (const void far *, const void far *);
  14.  
  15. #ifdef __cplusplus
  16. extern "C" 
  17.     {
  18. #endif
  19. void  _Cdecl QuickSort(void far *baseP, size_t nElem, size_t width, 
  20.                 int _Cdecl(*__fcmp)(const void far *, const void far *));
  21. #ifdef __cplusplus
  22.     }
  23. #endif
  24.  
  25.  
  26. #ifdef __cplusplus
  27.  
  28. class Sort
  29.     {
  30. private:
  31.     CmpFunc *PCmpFunc;
  32.     unsigned elWidth;
  33.  
  34.     void near pascal Swap(void far *left, void far *right);
  35.     void near pascal QSort(char far *base, size_t numEl);
  36.  
  37. public:
  38.     Sort(void)
  39.         {
  40.         PCmpFunc = NULL;
  41.         elWidth = 0;
  42.         }
  43.  
  44.     void QuickSort(void far *base, size_t numEl, size_t width, 
  45.         CmpFunc *compar);
  46.     };
  47. #endif
  48.  
  49. #endif
  50.  
  51.