#include <iostream>
#include <queue>
using namespace std;
// Type des objets stockés dans la file :
class A
{
public:
int p; // Priorité
const char *t; // Valeur chaîne de caractères
A() : p(0), t(0) {}
A(int p, const char *t) : p(p), t(t) {}
// fonction de comparaison :
bool operator()(const A &a1, const A &a2)
{
//On renvoie 0 ou 1 selon que la comparaison est
//vraie ou fausse
return a1.p < a2.p ;
}
};
int main(void)
{
//On crée quelques objets :
A a1(1, "Priorité faible");
A a2(2, "Priorité moyenne 1");
A a3(2, "Priorité moyenne 2");
A a4(3, "Forte priorité");
//On crée la file d'attente à priorité :
priority_queue<A, vector<A>, A> ma_file; /*attention, il faut insérer
un espace entre les 2 > > pour ne pas confondre avec
l'opérateur >> de cin*/
//On ajoute les éléments :
ma_file.push(a3);
ma_file.push(a1);
ma_file.push(a2);
ma_file.push(a4);
//On récupère les éléments par ordre de priorité :
while (!ma_file.empty()) //tant que la file n’est pas vide
{
//on affiche l’élément de plus forte priorité :
cout << ma_file.top().t << endl;
ma_file.pop(); //puis on le supprime
}
}
Forte priorité Priorité moyenne 1 Priorité moyenne 2 Priorité faible
Combien cela coûte-t-il au total ? Quelles aides apportent l'état et les acteurs du marché pour alléger cette charge non choisie ? Tous les détails sur Commentçamarche.net.