Witam!
mam pytanie w jaki sposób można kolejke priorytetową trzymającą int'y typu max z STL'a przerobić na typ min ? Dziękuje z góry. ;-)
0
1
trzymającą int'y typu max z STL'a
?
priority_queue< int, vector< int >, greater< int > > q;
o to chodzi?
0
priority_queue <int> kp
mam coś takiego i chce sciągać z kolejki elementy rosnąco.
0
imo to niewykonalne w sposób bezpośredni.
0
ok thx za odp. czyli trzeba samemu kodzić z laczka :/
0
musisz przeciązyc operator "<"
0
a dokładniej jak to zrobić? może jakiś przykład?
0
zrobic strukture
i tam wewnątrz przeciązyc operator np tak:
bool operator<(const stan&l,const stan&r){
return l.b>r.b;
}
to jest fragment kodu dijkstry :P bo akurat był pod ręką ;)
i potem deklarujesz :
priority_queue<stan> kolejka;
i ta kolejka bedzie dzialac tak jak to wczesniej ukodziłes (to w tej strukturze)
</image>
0
thx:)
1
szkielet napisał(a)
musisz przeciązyc operator "<"
tak, przeciąż operator < żeby działał jak > [glowa]
napisałem w pierwszym poście jak to zrobić...