単語/キーが既に存在する場合、単にAVLツリーをチェックする次のコードがあります。それは、そのノードへのポインタを返すない場合、そうでない場合はnullを返す:C++関数から返されたオブジェクトのデータメンバにアクセスするには?
void fileInput::testFunction() {
node newWord;
newWord.key = "test";
newWord.wordCount = 1;
tree.AVL_Insert(newWord);
if ((verifyWord("test").wordCount) != NULL) {
//insert increment wordCount code here;
}
}
これは、ノード構造体である:
struct node {
string key;
int wordCount;
};
これは、これはAVL_Retreiveある
node fileInput::verifyWord(string a) {
node b;
tree.AVL_Retrieve(a, b);
return b;
}
verifyWord関数であります機能:
template <class TYPE, class KTYPE>
bool AvlTree<TYPE, KTYPE>
:: AVL_Retrieve (KTYPE key, TYPE& dataOut)
{
NODE<TYPE> *node;
if (!tree)
return false;
node = _retrieve (key, tree);
if (node)
{
dataOut = node->data;
return true;
} // if found
else
return false;
} // AVL_Retrieve
私の質問は、どのように私は、testFunction()のif文の中で返されたオブジェクトのwordCountを増やすことができるでしょうか
あなたの質問は何ですか? –
"wordCountをインクリメントしたいのであれば、ツリーに単語が存在するかどうかチェックしたい。そうでなければツリーに挿入する" - 良い計画のように聞こえる。それを試してみて、それがどのように機能するかお知らせください。 –
@ JohnZwinckどのように私は、オブジェクトポインタのwordCountを増やすことができますか? – nanjero05