frequencyheap.cpp

来自「我们一个小组」· C++ 代码 · 共 38 行

CPP
38
字号
#include "FrequencyHeap.h"

const double FREQUENCY_INCREASEMENT = 0.5 ;

//get total number of elements in the heap
size_t FrequencyHeap::GetCount()
{
	return m_vecFrequencyId.size() ;
}

//insert an element
void FrequencyHeap::Insert(double frequency, int id)
{
	m_vecFrequencyId.push_back( ID(id, frequency) ) ;
	sort(m_vecFrequencyId.begin(), m_vecFrequencyId.end()) ;
}

void FrequencyHeap::GetWord(vector<int>& vecIdTable)
{
	for( vector<ID>::iterator it = m_vecFrequencyId.begin(); it!=m_vecFrequencyId.end(); it++)
	{
		vecIdTable.push_back(it->getid()) ;
	}
}

bool FrequencyHeap::IncreaseFrequency(int id)
{
	for( vector<ID>::iterator it = m_vecFrequencyId.begin(); it!=m_vecFrequencyId.end(); it++)
	{
		if (it->getid() == id)
		{
			it->frequency += FREQUENCY_INCREASEMENT;
			sort(m_vecFrequencyId.begin(), m_vecFrequencyId.end()) ;
			return true ;
		}
	}
	return false ;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?