Beispiel #1
0
void LetterTree::insert(std::string word)
{
	using KeyType = std::pair<char, LetterNode>;

	LetterNode* currentNode = this;
	LetterMap* nextmap = &following;

	for(char c : word)
	{
		if (!nextmap->count(c))
		{
			auto ln = LetterNode(c, currentNode);
			nextmap->insert(KeyType(c, ln));
		}

		currentNode = &nextmap->at(c);
		nextmap = &currentNode->following;
	}
	nextmap->insert(KeyType('\0', EOW));
}
Beispiel #2
0
void setLetterValues(LetterMap &letterMap)
{
  short values[] = 
  {
    1, 3, 3, 2, 1, 4, 2, 4, 2, 8, 5, 1, 3, 1, 1, 3, 10, 1, 1, 1, 1, 4, 4, 8, 4,
    10
  };  // values

  for(char letter = 'a'; letter <= 'z'; letter++)
    letterMap.insert(LetterMap::value_type(letter, values[letter - 'a']));

}  // setLetterValues();