📄 table.h
字号:
/*-------------------------------------------------------------
filename :table.h
属性约简公共父类CTable头文件
作者:Kylin li
2000/12
2001.11.10 修改
1. 修改m_fRecord => m_Record
2. 修改3个主要成员函数的可见性,把InitTable(),recudt(),
WriteFile() 由public改为 virtual protected
3. 增加函数virtual Perform(),调用上述三个函数,简化使用
(hide sequential dependencies :-). )
--------------------------------------------------------------*/
#if !defined(AFX_TABLE_H__A454EF57_BFE6_11D4_BFEA_0040054EF889__INCLUDED_)
#define AFX_TABLE_H__A454EF57_BFE6_11D4_BFEA_0040054EF889__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Table.h : header file
#define STR_MAXLEN 20
/////////////////////////////////////////////////////////////////////////////
struct cuts
{
int col; //column NO.
int n; //cuts number
char **data; //
int *m; //target value
cuts(int col1,int n1):col(col1),n(n1)
{
data=new char*[n];
m=new int[n];
}
~cuts()
{
if(data)
{
for(int i=0;i<n;i++)
if(data[i]) delete []data[i];
delete []data;
}
if(m) delete []m;
}
};
class CTable : public CObject//一般属性约简算法
{
public:
CTable(); // protected constructor used by dynamic creation
virtual bool Perform(const char* filein,const char* fileout);
virtual ~CTable();
protected:
virtual bool InitTable(CString txtname);//初始化
virtual bool WriteFile(CString name); //保存结果
virtual bool reduct()=0; //约简
void deleteDup(); //删除重复记录
int GetCount(); //获得记录数
int GetConAttrNum(); //获得条件属性个数
bool StrToInt(int col);
protected : //data members
char ***m_strValue; //字符串值
int **m_Record; //记录表
int m_nCount; //信息表中的记录数
int m_nConAttrNum; //条件属性个数
char **m_AttrName; //attributes names
char **m_AttrType; //属性类型
char m_strStyle[10]; //数据集的Style
int m_nStage; //Stage
cuts** m_Cuts; //断点集
bool *m_bAttr; //属性是否被约简
bool *m_bObj; //记录是否被删掉
bool m_bHaveStr;
bool *m_bStr; //记录该列是否为字符型
bool m_bHaveCuts;
bool CompObj(int i,int j); //compare object i and j
};
/////////////////////////////////////////////////////////////////////////////
#endif // !defined(AFX_TABLE_H__A454EF57_BFE6_11D4_BFEA_0040054EF889__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -