Grafalgo
Library of useful data structures and algorithms
|
00001 00009 // ppHiLab class. Encapsulates data and routines used by the fifo 00010 // variant of the preflow-push method. This version uses incremental 00011 // updating of distance labels. 00012 00013 #ifndef PPHILAB_H 00014 #define PPHILAB_H 00015 00016 #include "prePush.h" 00017 00022 class ppHiLab : public prePush { 00023 public: 00024 ppHiLab(Flograph&, int&, bool); 00025 ppHiLab(Flograph&, int&, bool, string&); 00026 protected: 00027 int *ubVec; // ubVec[i] is an unbalanced vertex 00028 // with label i 00029 int top; // highest index into ubVec with ubVec[i]!=0 00030 ClistSet *unbal; // collection of circular lists of vertices 00031 00032 void newUnbal(vertex); 00033 void addUnbal(vertex); 00034 vertex removeUnbal(); 00035 00036 void doit(bool); 00037 }; 00038 00039 #endif