📄 eqclass.h,v
字号:
head 1.2;access;symbols;locks zaki:1.2; strict;comment @ * @;1.2date 2001.06.24.19.16.01; author zaki; state Exp;branches;next 1.1;1.1date 2001.06.06.00.04.45; author zaki; state Exp;branches;next ;desc@@1.2log@added pruning.@text@#ifndef __eqclass_h#define __eqclass_h#include <iostream.h>#include <list>#include <vector>#include "treeminer.h"#include "calcdb.h"#include "idlist.h"class Eqnode{public: int val; //item value int pos; //which node is it connected to in parent prefix int sup; //support idlist tlist; //scope list for this item Eqnode(int v, int p, int s=0): val(v), pos(p), sup(s){} bool find_in_tlist(vector<int> &par, int lit, ival &it, int stpos=0); static bool supcmp (Eqnode *n1, Eqnode *n2){ bool res = false; if ((n1)->sup < (n2)->sup) res = true; if (sort_type == incr) return res; else return !res; } friend ostream & operator<<(ostream& ostr, Eqnode& eqn);};class Eqclass{private: vector<int> _prefix; //class prefix list<Eqnode *> _nodelist; //class nodes public: ~Eqclass(); vector<int> &prefix(){ return _prefix; } list<Eqnode *> &nlist(){ return _nodelist; } void add_node(int val, int pos, int sup=0); void add_node(Eqnode *eqn); int item(int n); int get_scope(int pos, int &scope); void set_prefix(vector<int> &pref, Eqnode &node); void sort_nodes(){ if (sort_type == nosort) return; _nodelist.sort(Eqnode::supcmp); } void print(); ostream & print_prefix(ostream &fout=cout); friend ostream & operator<<(ostream& ostr, Eqclass& eq);};#endif @1.1log@Initial revision@text@d14 3a16 3 int val; int pos; int sup;d21 8d35 2a36 2 vector<int> _prefix; list<Eqnode *> _nodelist;d39 1d47 4@
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -