本文整理汇总了C++中MyMap::add方法的典型用法代码示例。如果您正苦于以下问题:C++ MyMap::add方法的具体用法?C++ MyMap::add怎么用?C++ MyMap::add使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MyMap
的用法示例。
在下文中一共展示了MyMap::add方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getFrequencyTable
/* Function: getFrequencyTable
* Usage: MyMap<ext_char, int> freq = getFrequencyTable(file);
* --------------------------------------------------------
* This function will also set the frequency of the EOF
* character to be 1, which ensures that any future encoding
* tree built from these frequencies will have an encoding for
* the EOF character.
*/
MyMap<ext_char, int> getFrequencyTable(ibstream& infileStream) {
MyMap<ext_char, int> resultFrequenciesMap;
ext_char nextChar;
while ((nextChar = infileStream.get()) != EOF) {
modifyMap(resultFrequenciesMap, nextChar);
}
resultFrequenciesMap.add(EOF, 1);
return resultFrequenciesMap;
}
示例2: buildCodesTableForTree
/* Function: buildCypherTable
* ---------------------------
* Modifies param cypher table map
* by entries [symbol][symbol Huffman code]
* for this huffman tree.
* Makes DFS from root to every symbol-leaf to
* cocantenate currentCypher code value.
*
*
* @param currentCypher symbol
* @param node root of Huffman tree
* @param cypherTable cypher table map to fill by entries
*/
void buildCodesTableForTree(string currentSymbolCode,
Node* node,
MyMap<ext_char, string>& charsCodesTable) {
/* This node is fork end */
if ((node->leftChild == NULL) && (node->rightChild == NULL)) {
charsCodesTable.add(node->symbol, currentSymbolCode);
}else{
/* This node has childs */
if (node->leftChild != NULL) {
string leftCypher = currentSymbolCode + "0";
buildCodesTableForTree(leftCypher, node->leftChild, charsCodesTable);
}
if (node->rightChild != NULL) {
string rightCypher = currentSymbolCode + "1";
buildCodesTableForTree(rightCypher, node->rightChild, charsCodesTable);
}
}
}