Bonjour,
J'ai un algorithme identique qui utilise soit une queue soit une priority_queue et je voudrais g�n�raliser cet algorithme pour qu'il fonctionne avec l'un ou l'autre des conteneurs. Voil� l'algo :
Le probl�me est que dans le cas d'un queue pour d�filer un Noeud, on utilise la fonction front() et dans le cas d'un priority_queue, elle s'appelle top() ... Y'a t-il un moyen de g�n�raliser cette fonction solve � l'aide de template par exemple ? (je pr�fererais �viter de cr�er d'autres classes avec du polymorphisme pour r�soudre ce probl�me si possible...)
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12 Fonction solve(file f, Noeud initial) current : Noeud // type current <--- initial enfiler(current, f) TANT QUE (!vide(f)) current <--- defiler(f) // récupère le 1er noeud de la file ou le noeud avec le cout le plus faible dans le cas de la priority_queue POUR CHAQUE (succ : findSuccessors(current)) enfiler(succ, f) FIN POUR FIN TANT QUE FIN
J'esp�re que c'est clair
Merci d'avance![]()
Partager