home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / CTECHAPP.ZIP / STRATEGY.ZIP / SORT.HPP < prev   
C/C++ Source or Header  |  1990-02-12  |  809b  |  39 lines

  1. //  Header:     Sort
  2. //  Version:    1.00
  3. //
  4. //  Language:   C++ 2.0
  5. //  Environ:    Any
  6. //
  7. //  Purpose:    A generic array sorting class
  8. //
  9. //  Written by: Scott Robert Ladd
  10.  
  11. #if !defined(__SORT_HPP)
  12. #define __SORT_HPP 1
  13.  
  14. class SortArray
  15.     {
  16.     protected:
  17.         void * Array;
  18.         int    Size;
  19.  
  20.         int (* Compare)(void *, void *);
  21.  
  22.         void * ItemPtr(int item)
  23.             {
  24.             return (void *)((char *)Array + (Size * (item - 1)));
  25.             }
  26.  
  27.     public:
  28.         virtual void Sort(void * arrayPtr, int arrayLen, int itemSize,
  29.                           int (* CompareFunc)(void * item1, void * item2))
  30.             {
  31.             Array = arrayPtr;
  32.             Size  = itemSize;
  33.  
  34.             Compare = CompareFunc;
  35.             }
  36.     };
  37.  
  38. #endif
  39.