[C++11] Queue / priority_queue et templates
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 :
Code:
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 |
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...)
J'esp�re que c'est clair ;)
Merci d'avance :)