Pas de dépendances
#include <queue> #include <iostream> using namespace std; class test { private: int a; int b; public: test(int i,int j) {a=i;b=j;} int operator<(const test& t2) const {return a < t2.a;} int geta() const; int getb() const; }; int test::geta() const { return a; } int test::getb() const { return b; } class monfoncteur:public binary_function<test,test,int> { public: int operator()(const test& t1,const test& t2) const { return t1.getb()<t2.getb(); } }; void test1() { priority_queue<int,vector<int>,less<int> > q; q.push(5); q.push(13); q.push(8); q.push(6); cout << "lecture de la file de priotite" << endl; while(!q.empty()) { cout << q.top() << endl; q.pop(); } } void test2() { priority_queue<test> q; q.push(test(15,3)); q.push(test(8,6)); q.push(test(9,1)); q.push(test(12,7)); cout << "lecture de la file de priotite" << endl; while(!q.empty()) { cout << "a=" << q.top().geta() << " b=" << q.top().getb() << endl; q.pop(); } } void test3() { priority_queue<test,vector<test>,monfoncteur > q; q.push(test(15,3)); q.push(test(8,6)); q.push(test(9,1)); q.push(test(12,7)); cout << "lecture de la file de priotite" << endl; while(!q.empty()) { cout << "a=" << q.top().geta() << " b=" << q.top().getb() << endl; q.pop(); } } int main() { test1(); test2(); test3(); return 0; }
No explanations yet.