Verständnisfrage Prädikat
-
Nehmen wir mal an ich hab einen Vektor,..., der mit aufsteigenden Werten gefüllt ist. Jetzt will ich es absteigend sortieren und benutze die sort-funktion mit prädikat.
beispielsfunktor:
bool funktor (int num, int num2) { return num>num2; }sort(vect.begin(),vect.end(),funktor);vergleicht der funktor (egal wo ich es benutze vektor, klasse,...) z.b vect[3] mit vect[4]?
mfg
ACnut
-
ACnut schrieb:
vergleicht der funktor (egal wo ich es benutze vektor, klasse,...) z.b vect[3] mit vect[4]?
Was verglichen wird ist nicht spezifiziert. Dazu müsstest du den Algorithmus der Sortierfunktion kennen. Es ist jedenfalls vom Standard garantiert, dass nicht jedes Element mit jedem verglichen wird.
In deinem Fall gibt es übrigens schon ein fertiges Prädikat im Standard, std::greater<>.
-
das mit dem greater weiß ich, es ging mir nur um das verständnis
wir haben gelernt das bis zu einer gewissen laufzeit quicksort und dann iwas (name fällt mir jetzt ned ein) vom standard benutzt wirdalso, so wie ich dich jetzt verstanden habe, brauch ich das eh ned unbedingt verstehen
