粗糙集(Roug Set)属性约简源代码(C/C++实现)Part4 Element.cpp
来源:互联网 发布:163exchange邮箱端口 编辑:程序博客网 时间:2024/05/23 02:27
#include"Element.h"
//决策表元素类的实现-----------------------------------------------------------
Element::Element(std::vector<int> condition, std::vector<int> decision, int iNo)
{
ValueOfCondition = condition;
ValueOfDecision = decision;
u = iNo;
}
Element::Element(Set &condition, Set &decision, int iNo)
{
ValueOfCondition = condition.ToIntVector();
ValueOfDecision = decision.ToIntVector();
u = iNo;
}
const Element& Element::operator=(const Element &e)
{
if(this != &e)
{
ValueOfCondition = e.GetCondition();
ValueOfDecision = e.GetDecision();
u = e.GetU();
}
return *this;
}
void Element::SetU(int &u)
{
this->u = u;
}
void Element::SetCondition(vector<int> &condition)
{
ValueOfCondition = condition;
}
void Element::SetDecision(std::vector<int> &decision)
{
ValueOfDecision = decision;
}
int Element::GetU()const
{
return u;
}
vector<int> Element::GetCondition()const
{
return ValueOfCondition;
}
vector<int>::iterator Element::GetConditionBegin()
{
return ValueOfCondition.begin();
}
vector<int>::iterator Element::GetConditionEnd()
{
return ValueOfCondition.end();
}
vector<int> Element::GetDecision() const
{
return ValueOfDecision;
}
bool Element::ConditionEqual(Element &other)
{
vector<int>::iterator it1 = ValueOfCondition.begin();
vector<int> temp = other.GetCondition();
vector<int>::iterator it2 = temp.begin();
for(; it1<ValueOfCondition.end() && it2<temp.end(); it1++, it2++)
{
if(*it1 != *it2)
{
return false;
}
}
return true;
}
bool Element::DecisionEqual(Element &other)
{
vector<int>::iterator it1 = ValueOfDecision.begin();
vector<int> temp = other.GetDecision();
vector<int>::iterator it2 = temp.begin();
for(; it1<ValueOfDecision.end() && it2<temp.end(); it1++, it2++)
{
if(*it1 != *it2)
{
return false;
}
}
return true;
}
bool Element::UEqual(Element &other)
{
if(u != other.GetU())
{
return false;
}
return true;
}
bool Element::Equal(Element &other)
{
if((*this).ConditionEqual(other) && (*this).DecisionEqual(other))
{
return true;
}
return false;
}
void Element::RemoveConditionAttribute(vector<int>::iterator it)
{
ValueOfCondition.erase(it);
}
void Element::AddConditionAttribute(int &a)
{
ValueOfCondition.push_back(a);
}
void Element::Print()
{
if(!ValueOfCondition.empty() && !ValueOfDecision.empty())
{
cout<<"(";
vector<int>::iterator it = ValueOfCondition.begin();
cout<<*it++;
for(; it<ValueOfCondition.end(); it++)
{
cout<<",/t";
cout<<*it;
}
cout<<")/t->/t(";
it = ValueOfDecision.begin();
cout<<*it++;
for(; it<ValueOfDecision.end(); it++)
{
cout<<",/t";
cout<<*it;
}
cout<<")/tu"<<u<<endl;
}
else
{
cout<<"该样本没有意义!请初始化,或者赋值!"<<endl;
}
}
- 粗糙集(Roug Set)属性约简源代码(C/C++实现)Part4 Element.cpp
- 粗糙集(Roug Set)属性约简源代码(C/C++实现)Part2 Set.cpp
- 粗糙集(Roug Set)属性约简源代码(C/C++实现)Part6 DecisionTable.cpp
- 粗糙集(Roug Set)属性约简源代码(C/C++实现)Part3 Element.h
- 粗糙集(Roug Set)属性约简源代码(C/C++实现)Part1 Set.h
- 粗糙集(Roug Set)属性约简源代码(C/C++实现)Part5 DecisionTable.h
- 粗糙集(Rough Set)约简系统软件
- 粗糙集(Rough Set)约简系统软件
- 粗糙集(Rough Set)约简系统软件
- 粗糙集的属性约简
- 粗糙集用于数据约简和提取决策规则C/C++(1)
- 粗糙集用于数据约简和提取决策规则C/C++(2)
- 粗糙集理解之二:属性约简
- 粗糙集 相对属性约简
- 读后感——《变精度粗糙集的属性核和最小属性约简算法》
- set.cpp/c/pas
- CPP粗糙
- 粗糙集(Rough set) 理论
- 51单片机模拟串口的三种方法【转】
- 粗糙集(Roug Set)属性约简源代码(C/C++实现)Part2 Set.cpp
- 万年历程序中十二生肖排列顺序及算法
- 粗糙集(Roug Set)属性约简源代码(C/C++实现)Part3 Element.h
- 51单片机模拟串口的三种方法【转】-附带程序
- 粗糙集(Roug Set)属性约简源代码(C/C++实现)Part4 Element.cpp
- 3G移动网络,给WAP带来什么?
- 网络专业实习报告
- 粗糙集(Roug Set)属性约简源代码(C/C++实现)Part5 DecisionTable.h
- 粗糙集(Roug Set)属性约简源代码(C/C++实现)Part6 DecisionTable.cpp
- 用网络工具分析系统监控广播风暴
- XP中一人远程管理关机好方法
- Windows XP 组策略应用
- 数据库连接字串