Member *p = (*i)->pson; while (p->pbro!=nullptr) p = p->pbro; p->pbro = temp; } next.push_back(temp); temp = nullptr; break; } } //Èô³ÉÔ±µÄ¸¸Çײ»ÊÇÕâÒ»´úµÄ³ÉÔ±£¬Ôò½«next¸³Óègenely,µü½øÏÂÒ»´ú if (temp != nullptr){ genely = next;//µü½øÏÂÒ»´ú next.clear();//Çå¿Õnext for (auto i : genely){//½«³ÉÔ±·ÅÈë¼Ò×åÊ÷ÖÐ if (i->name == temp->father){ i->pson = temp; next.push_back(temp); temp = nullptr; break; } } } //¶¯Ì¬´´½¨ÁÙʱ³ÉÔ±±äÁ¿,ÓÃÓÚ´æ´¢ÊäÈëµÄÏÂÒ»¸ö³ÉÔ±µÄÐÅÏ¢
temp = new Member; } infile.close();//¹Ø±Õ´æ´¢³ÉÔ±ÐÅÏ¢µÄÎļþ //ÈôÎļþÖÐûÓгÉÔ±ÐÅÏ¢£¬½«rootÖÃΪ¿Õ if (root->name == \δ֪\) root = nullptr; //´ò¿ª´æ´¢¼ÒÍ¥×ÜÌåÐÅÏ¢µÄÎļþ£¬¶ÁÈëÐÅÏ¢ infile.open(\, ios::in | ios::_Nocreate); if (!infile){ return false; } infile >> total >> aveAge >> aveHeight >> aveMember >> ratio; infile.close();//¹Ø±ÕÎļþ return true; } Member *FamilySystem::seek(string nam){ //Èô¼ÒÆ×Ê÷Ϊ¿Õ£¬·µ»Ø¿ÕÖ¸Õë if (root == nullptr) return nullptr; //Èôroot²»Îª¿Õ£¬¼ÌÐø²éÕÒ Member *store = nullptr;//´æ´¢·µ»ØµÄÖ¸Õë vector