Grafalgo
Library of useful data structures and algorithms
/Users/jst/src/grafalgo/cpp/include/ppHiLab.h
Go to the documentation of this file.
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
 All Classes Files Functions Variables Typedefs Friends