May*_*nza 4 c++ huffman-code frequency-analysis
我正在做一个学校项目,在文本上实现霍夫曼代码.第一部分当然需要对文本进行频率分析.除了巨型开关和一系列计数器之外还有更好的方法吗?
即:
int[] counters
for(int i = 0; i <inString.length(); i++)
{
switch(inString[i])
case 'A':
counters[0]++;
.
.
.
Run Code Online (Sandbox Code Playgroud)
我想做所有字母数字字符和标点符号.我正在使用c ++.
为什么不:
int counters[256] = {0};
for(int i = 0; i <inString.length(); i++)
counters[inString[i]]++;
}
std::cout << "Count occurences of \'a\'" << counters['a'] << std::endl;
Run Code Online (Sandbox Code Playgroud)
您可以使用由字符索引的数组:
int counters[256];
for (int i = 0; i < inString.length(); i++) {
counters[(unsigned char)inString[i]]++;
}
Run Code Online (Sandbox Code Playgroud)
当然,您还需要将counters数组初始化为零.