bool IsFind(CString& strParent,vector<DETAIL_INFO> &vecInfo)
{
bool bFind = false;
for (vector<DETAIL_INFO>::iterator itr = vecInfo.begin(); itr != vecInfo.end(); ++itr)
{
if (itr->strID == strParent)
{
m_pInfo = &*itr;
return true;
}
if (!itr->subvecItems.empty())
bFind = IsFind(strParent, itr->subvecItems);
if (bFind) return true;
}
return false;
}
结构体递归查找
最新推荐文章于 2024-01-02 22:43:11 发布
该代码段展示了如何使用C++遍历并查找一个包含子项的集合。函数`boolIsFind`通过迭代`vecInfo`向量,对比`strParent`与每个元素的`strID`,当找到匹配项时返回`true`。同时,函数还递归地检查每个元素的子向量`subvecItems`以查找匹配项。如果在子向量中找到匹配项,也会立即返回`true`。
摘要由CSDN通过智能技术生成