English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C ++ set crbegin()La fonction est utilisée pour renvoyer un itérateur réversif constant qui fait référence à l'élément le plus récent du conteneur set.
L'itérateur réversif constant de set se déplace en sens inverse et augmente jusqu'à atteindre le début du conteneur set (premier élément) et pointe surConstanteÉlément.
const_reverse_iterator crbegin() const noexcept; //since C++ 11
Aucun
Elle renvoie un itérateur réversif constant qui pointe sur l'élément le plus récent de l'ensemble.
Aucun
Elle renvoie un itérateur réversif constant qui pointe sur l'élément le plus récent du multiset.
Inchangé.
Aucun changement.
Le conteneur est visité.
L'accès simultané aux éléments de l'ensemble est sécurisé.
Cette fonction ne lance jamais d'exception.
Voyons un exemple simple de la fonction crbegin():
#include <iostream> #include <set> using namespace std; int main () { set<int> myset = {50,20,40,10,30}; cout << "myset est ordonné dans l'ordre inverse:"; for (auto rit = myset.crbegin(); rit != myset.crend(); ++rit) cout << ' ' << *rit; cout << '\n'; return 0; }
Sortie :
myset est ordonné dans l'ordre inverse: 50 40 30 20 10
Dans l'exemple précédent, la fonction crbegin() renvoie un itérateur réversif constant qui pointe sur l'élément le plus récent de l'ensemble myset.
Comme le set stocke les éléments dans l'ordre de tri des clés, l'itération sur le set entraîne l'ordre suivant, c'est-à-dire l'ordre de tri des clés.
Laissez-nous voir un exemple simple pour itérer sur un ensemble en ordre inverse en utilisant une boucle while :
#include <iostream> #include <set> #include <string> #include <iterator> using namespace std; int main() { // créer et initialiser un ensemble de chaînes & d'entiers set<string> setEx = {"bbb", "ccc", "aaa", "ddd"}; //créer un itérateur set et pointer à la fin du set set<string>::const_reverse_iterator it = setEx.crbegin(); // itérer sur l'ensemble jusqu'au début en utilisant l'itérateur while (it != setEx.crend()) { //accéder à la clé pointée par l'itérateur. string word = *it; cout << word << endl; // augmenter l'itérateur pour pointer au prochain élément it++; } return 0; }
Sortie :
ddd ccc bbb aaa
Dans l'exemple précédent, nous utilisons une boucle while pour itérer sur l'ensemble dans l'ordre inverse et utilisons la fonction crbegin() pour initialiser l'élément final de l'ensemble.
Comme le set stocke les éléments dans l'ordre de tri des clés, l'itération sur le set entraîne l'ordre suivant, c'est-à-dire l'ordre de tri des clés.
Laissez-nous voir un exemple simple pour obtenir le premier élément d'un ensemble inversé :
#include <iostream> #include <string> #include <set> using namespace std; int main () { set<int> s1 = {20,40,10,30}; auto ite = s1.crbegin(); cout << "l'ensemble s1le premier élément est: "; cout << *ite; return 0; }
Sortie :
l'ensemble s1le premier élément est: 40
Dans l'exemple précédent, la fonction crbegin() renvoie le premier élément du ensemble s1le premier élément, c'est-à-dire40.
Laissez-nous voir un exemple simple pour trier et calculer les meilleures notes :
#include <iostream> #include <string> #include <set> using namespace std; int main () { set<int> marks = {400, 220, 300, 250, 365}; cout << "Marks" << " | " << "Roll Number" << '\n'; cout << "______________________\n"; set<int>::const_reverse_iterator rit; for (rit = marks.crbegin(); rit != marks.crend(); ++rit) cout << *rit<<'\n'; auto ite = marks.crbegin(); cout << "\nLa plus haute note est: "<< *ite<<" \n"; return 0; }
Sortie :
Notes | Numéro d'inscription ______________________ 400 365 300 250 220 La plus haute note est: 400
Dans l'exemple ci-dessus, une étiquette de collection a été mise en œuvre, où les éléments de la collection sont stockés en tant que clé. La fonction crbegin() nous permet d'utiliser les fonctionnalités de tri automatique de la collection et de reconnaître la plus haute note.