bonjour,
j'ai besoin de me servir de la fonction sort de la stl. Je dois trier un vecteur.Que dois-je d�clarer en haut de ma classe et ensuite comment l'utilise-t-on ?
Version imprimable
bonjour,
j'ai besoin de me servir de la fonction sort de la stl. Je dois trier un vecteur.Que dois-je d�clarer en haut de ma classe et ensuite comment l'utilise-t-on ?
Tu as un peu regard� dans les anciens sujets ici ainsi que dans l'aide de ton compilateur ??
M�me la faq le montre ...
Il y a un exemple ici :
http://cpp.code-libre.org/faq/algori...e_personnalise
Si tu veux qu'il trie en comparant avec l'op�rateur < , n'indique rien l� ou j'ai indiqu� Tri().
merci mais �a en fait je le savais, ce que je ne sais pas c'est comment dire que quand on fait sort(vect.begin(),vect.end()), il faut que �a s'applique � l'objet vect par exemple car j'ai essay� de faire vect.sort(vect.begin(),vect.end()) mais il me dit que la fonction sort ne fait pas partie de vector<>...
En fait je suppose qu'il faut pr�ciser o� prendre la fonction sort mais comment le faire ?
Si vect n'a pas de fonction membre sort(), �a va �tre difficile...
sort() n'est � la base pas une fonction membre, mais une fonction externe, c'est tout. Certains conteneurs proposent une version membre, d'autres non.
la fonction sort ne fait pas partie de vector, mais list...Citation:
Envoy� par crischprolch
Ensuite, n'oublie pas std::
Exemple :Code:
1
2
3 std::list<int> liste_test; liste_test.sort();
Miles : justement, je voudrais utiliser la fonction externe mais je ne sais pas comment lui dire qu'elle est externe
en appelant std::sort(vect.begin(), vect.end())...
mais il faut peut-�tre pr�ciser sur quoi on fait le tri, non ? Pour mon exemple, c'est un vector qui s'appelle vect, mais je ne peux pas faire vect.std::sort(vect.begin(), vect.end()) ...
sort() fonctionne sur des it�rateurs, que ce soit des it�rateurs de patates ou de carottes, du moment que ce sont des it�rateurs. Une fonction externe, c'est une fonction externe, on l'appelle normalement sort(patates.begin(), patates.end()).
ok merci beaucoup
:resolu: ?