UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
sorter.hpp
1 /* sorter.hpp */
2 /* $Id: sorter.hpp,v 1.1 2006/11/21 13:16:29 vlad Exp $ */
3 
4 /*
5  * $Log: sorter.hpp,v $
6  * Revision 1.1 2006/11/21 13:16:29 vlad
7  * + sorter object
8  *
9  * Revision 1.1 2005/08/08 08:23:29 rus1
10  * + sorter class
11  *
12  */
13 
14 #ifndef __sorter_hpp
15 #define __sorter_hpp
16 
17 
27 class Sorter
28 {
29 public:
30 
31  /*
32  * Useful methods
33  */
34 
37  void qsort (bool bAscent = true);
38 
39 
40  /*
41  * Functionality to implement
42  */
43 
45  virtual int countItems () = 0;
46 
50  virtual int compareItems (int i1, int i2) = 0;
51 
53  virtual void exchangeItems (int i1, int i2) = 0;
54 
55 private:
56 
59  int compare (int i1, int i2, bool bAscent);
60 
62  void qsortStep (int L, int R, bool bAscent);
63 
64 };
65 
66 
67 #endif /* sorter.hpp */
Definition: sorter.hpp:27
virtual int compareItems(int i1, int i2)=0
virtual void exchangeItems(int i1, int i2)=0
virtual int countItems()=0
void qsort(bool bAscent=true)