Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: ceva stl  (Citit de 1132 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
https
Strain
*

Karma: 0
Deconectat Deconectat

Mesaje: 30



Vezi Profilul
« : Martie 17, 2014, 18:12:12 »

Buna ziua. Vreau sa imi fac un priority_queue in care elementele sa fie structuri definite de mine(ex: struct elev{ int nota, varsta, clasa, string nume;} ). Cum imi fac un priority_queue din asa ceva? (pe net am gasit asta:
Cod:
 class mycomparison
{
  bool reverse;
public:
  mycomparison(const bool& revparam=false)
    {reverse=revparam;}
  bool operator() (const int& lhs, const int&rhs) const
  {
    if (reverse) return (lhs>rhs);
    else return (lhs<rhs);
  }
};
 typedef std::priority_queue<int,std::vector<int>,mycomparison> mypq_type;
)
Imi puteti explica putin ce inseamna aceste lucruri?
Multumesc.
Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 721



Vezi Profilul
« Răspunde #1 : Martie 17, 2014, 19:37:40 »

E prea complicat fata de ce iti trebuie tie.

Cod:
struct elev {
 ...
};

struct comp {
 bool operator() (const elev &a, const elev &b) const {
    // functia returneaza true in cazul in care a < b, altfel false
 }
};

priority_queue<elev,vector<elev>,comp> pq;
Memorat
https
Strain
*

Karma: 0
Deconectat Deconectat

Mesaje: 30



Vezi Profilul
« Răspunde #2 : Martie 17, 2014, 19:43:54 »

Mersi muuuuuuuuuuult Very Happy  Imi poti explica putin ce inseamna codul?
Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 721



Vezi Profilul
« Răspunde #3 : Martie 17, 2014, 21:09:49 »

E cam complicat de explicat daca nu stii POO. Trebuie sa suprascrii operatorul() pentru clasa comparator. Priority queue-ul va apela operatorul () pentru a determina ordinea elevilor.
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines