private bool _IsWordListed(UNode node, String szWord) { UNode curNode = node; szWord += '\0'; int len = szWord.Length; int pos = 0; char Herp; bool ret = false; Herp = szWord[pos]; while (curNode != null) { if (curNode.mHerp == Herp) { if (curNode.mHerp == '\0') { ret = true; break; } pos++; Herp = szWord[pos]; curNode = curNode.mNext; } else { curNode = curNode.mAlter; } } return(ret); }
public int Add(String szWord) { if (szWord.Trim().Length == 0) { return(0); } szWord += '\0'; if (m_RootNode == null) { m_RootNode = new UNode(); m_RootNode.mHerp = szWord[0]; nodeCnt++; } UNode curNode = m_RootNode; int pos = 0; char Herp = szWord[pos]; while (true) { if (curNode.mHerp == Herp) { if (Herp == '\0') { if (curNode.mFreq < ushort.MaxValue) { curNode.mFreq++; } if (curNode.mFreq == 1) { m_SozSani++; } break; } pos++; Herp = szWord[pos]; if (curNode.mNext == null) { curNode.mNext = new UNode(); curNode.mNext.mHerp = Herp; nodeCnt++; } curNode = curNode.mNext; } else { if (curNode.mAlter == null) { curNode.mAlter = new UNode(); curNode.mAlter.mHerp = Herp; nodeCnt++; } curNode = curNode.mAlter; } } return(curNode.mFreq); }
public int Add(String szWord, ushort frq) { szWord += '\0'; if (m_RootNode == null) { m_RootNode = new UNode(); m_RootNode.mHerp = szWord[0]; nodeCnt++; } UNode curNode = m_RootNode; int pos = 0; char Herp = szWord[pos]; while (true) { if (curNode.mHerp == Herp) { if (Herp == '\0') { curNode.mFreq += frq; if (curNode.mFreq == frq) { m_SozSani++; } break; } pos++; Herp = szWord[pos]; if (curNode.mNext == null) { curNode.mNext = new UNode(); curNode.mNext.mHerp = Herp; nodeCnt++; } curNode = curNode.mNext; } else { if (curNode.mAlter == null) { curNode.mAlter = new UNode(); curNode.mAlter.mHerp = Herp; nodeCnt++; } curNode = curNode.mAlter; } } return(curNode.mFreq); }
private void _GetWordCount(UNode curNode) { if (curNode != null) { if (curNode.mHerp == 0x0) { m_SozSani++; _GetWordCount(curNode.mAlter); } else { _GetWordCount(curNode.mNext); _GetWordCount(curNode.mAlter); } } }
private void Save(UNode curNode, String Soz) { if (curNode != null) { if (curNode.mHerp == 0x0) { if (curNode.mFreq >= m_FrqTh) { m_Out.WriteLine(Soz + "\t" + curNode.mFreq); } Save(curNode.mAlter, Soz); } else { Save(curNode.mNext, Soz + curNode.mHerp); Save(curNode.mAlter, Soz); } } }
private void GetBarliqSoz(UNode curNode, String Soz) { if (curNode != null) { if (curNode.mHerp == 0x0) { if (curNode.mFreq >= m_FrqTh) { hemmeSoz.Add(Soz + "\t" + curNode.mFreq); } GetBarliqSoz(curNode.mAlter, Soz); } else { GetBarliqSoz(curNode.mNext, Soz + curNode.mHerp); GetBarliqSoz(curNode.mAlter, Soz); } } }