【发布时间】:2020-09-27 05:09:15
【问题描述】:
我已将一串日期插入到我的二进制搜索树中。现在,当用户输入年份时,我想检查 BST 中我的日期中是否存在这一年,如果存在,我会执行一些操作。问题是我的 BST 的 searchTree 方法返回一个布尔值,所以我不确定如何在我的 BST 中搜索子字符串,或者是否有可能。 我搜索子字符串是因为我不需要日期或月份。我只需要检查今年是否存在于我的 BST 中。有什么建议吗?
到目前为止我做了什么:
Bst<string> dateStrings;
multimap<Date, float> mapOption2;
for(int i = 1; i < SIZE; i++)
{
stringstream converter;
string convertedDate;
converter << windlog[i].d;
converter >> convertedDate;
//cout << "After conversion: " << convertedDate << endl;
dateStrings.insertNodeRecursive(convertedDate);
mapOption2.insert(make_pair(windlog[i].d, windlog[i].temp.GetTemperature()));
}
if(dateStrings.searchTreeRecursive(strcmp)) // This is where I am stuck.
我的搜索树方法返回一个布尔值,它的参数只是意味着是任何类型的变量,在这种情况下它应该是一个字符串。
【问题讨论】:
标签: c++ string search binary-tree