📄 freitemcounter.inl
字号:
using namespace std;
//------------------------------------------------------------------------
//------------------------------------------------------------------------
template <typename FreItemType>
void FreItemCounter<FreItemType>::Init(unsigned itemSetSize)
{
FreItemType freItemTmp(ItemType(), 0);
for (int i=0;i<itemSetSize;++i)
{
freItemTmp.item_ = ItemType(i+1);
itemCountVec_.push_back(freItemTmp);
}
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
template <typename FreItemType>
void FreItemCounter<FreItemType>::CountItem(const ItemType& item, unsigned SId)
{
if (itemCountVec_[item.subscript_-1].SId_ != SId)
{
++itemCountVec_[item.subscript_-1].count_;
itemCountVec_[item.subscript_-1].SId_ = SId;
}
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
template <typename FreItemType>
void FreItemCounter<FreItemType>::ResetCounter()
{
for (int i=0;i<itemCountVec_.size();++i)
{
itemCountVec_[i].count_ = 0;
itemCountVec_[i].SId_ = 0;
}
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
template <typename FreItemType>
void FreItemCounter<FreItemType>::GetFreItems(vector<FreItemType>& freItemVec, unsigned int minSupport)
{
for (int i=0;i<itemCountVec_.size();++i)
{
if (itemCountVec_[i].count_ >= minSupport)
{
freItemVec.push_back(itemCountVec_[i]);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -