Update Personne3.cpp

main
Joan PIERRON 3 years ago
parent 346ed20bfd
commit deceb184ef

@ -32,18 +32,18 @@ Personne::~Personne() {
bool Personne::peutCommuniquerA(const Personne &p) const { bool Personne::peutCommuniquerA(const Personne &p) const {
unordered_set<const Personne*> visited; unordered_set<const Personne*> visited;
queue<const Personne*> pile; queue<const Personne*> file;
pile.push(this); file.push(this);
while (!pile.empty()) { while (!file.empty()) {
const Personne* front = pile.front(); const Personne* front = file.front();
pile.pop(); file.pop();
for (const Personne* perso : front->contacts->getValue()) { for (const Personne* perso : front->contacts->getValue()) {
if (perso == &p) { if (perso == &p) {
cout << this->prenom << " peut communiquer avec " << p.getPrenom() << "\n"; cout << this->prenom << " peut communiquer avec " << p.getPrenom() << "\n";
return true; return true;
} }
else if (visited.find(perso) == visited.end()) { else if (visited.find(perso) == visited.end()) {
pile.push(perso); file.push(perso);
visited.insert(perso); visited.insert(perso);
} }
} }

Loading…
Cancel
Save