我有一個avl樹,其中包含包含字符串標識符的對象。返回False或值C++
我有一個用戶輸入一個字符串,然後我想分析樹,看看用戶字符串是否與樹標識符中的任何對象相匹配。如果沒有與用戶字符串匹配的標識符的對象,我想創建一個標識符設置爲用戶字符串的對象。如果具有標識符的對象與用戶的輸入匹配,我想將該對象返回給用戶。目前,我有兩個函數,一個返回一個布爾值,如果該對象已存在於樹中,另一個返回該對象至控制檯(如果該對象已存在於樹中)。有沒有辦法將這兩個步驟合併到一個函數中?我在尋找的東西,如:
if(...) // the item exists in the tree
{
//return the object
}
else
{
avltreeObject.insert(user_string);
}
爲什麼不在'else'情況下返回新插入的對象?如果你還需要返回一個狀態(找到或插入),或者有一個布爾返回值並使用一個傳遞的對象引用參數並設置它,或者你可以返回一個['std :: pair'](http:// en。 cppreference.com/w/cpp/utility/pair),狀態爲「first」,對象爲「second」。 –
通常,如果對象不存在,則檢索函數返回null,因此您可以調用此函數並根據該函數區分進一步的處理。 – laune
你可能會遵循std :: map的實現 –