English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Stack (pilha) ++ set crbegin()A função é usada para retornar um iterador reverso constante que faz referência ao último elemento do contêiner set.
O iterador reverso constante do conjunto move-se para trás e incrementa até alcançar o início do contêiner set (primeiro elemento) e apontar paraConstanteElemento.
const_reverse_iterator crbegin() const noexcept; //Desde C++ 11
Nenhum
Ele retorna um iterador reverso constante, que aponta para o último elemento do conjunto.
Nenhum
Ele retorna um iterador reverso constante, que aponta para o último elemento do multigrafo.
Invariável.
Sem alterações.
O contêiner é acessado.
Acesso simultâneo aos elementos da coleção é seguro.
Esta função nunca lança exceções.
Vamos ver um exemplo simples da função crbegin():
#include <iostream> #include <set> using namespace std; int main () { set<int> myset = {50,20,40,10,30}; cout << "myset em ordem inversa:"; for (auto rit = myset.crbegin(); rit != myset.crend(); ++rit) cout << ' ' << *rit; cout << '\n'; ite << "\n"; return 0;
}
myset em ordem inversa: 5Copyright © 4Copyright © 3Copyright © 2Copyright © 10
No exemplo acima, é usado o função crbegin() para retornar um iterador reverso constante, que aponta para o último elemento do conjunto myset.
Como o set armazena os elementos na ordem de chave, a iteração sobre o set resulta na ordem acima, ou seja, a ordem de chave.
Vamos ver um exemplo simples de percorrer o conjunto em ordem inversa usando um loop while:
#include <iostream> #include <set> #include <string> #include <iterator> using namespace std; int main() { // criar e inicializar um conjunto de strings & int set<string> setEx = {"bbb", "ccc", "aaa", "ddd"}; //criar um iterador de conjunto e apontar para o final do conjunto set<string>::const_reverse_iterator it = setEx.crbegin(); // percorrer o conjunto até o início usando o iterador. while (it != setEx.crend()) { //acessar a chave do elemento ao qual ele aponta. string word = *it; cout << word << endl; // aumentar o iterador para apontar para o próximo item it++; return 0; ite << "\n"; return 0;
}
ddd ccc bbb aaa
No exemplo acima, usamos um loop while para iterar sobre o conjunto em ordem inversa e inicializamos o último elemento do conjunto usando a função crbegin().
Como o set armazena os elementos na ordem de chave, a iteração sobre o set resulta na ordem acima, ou seja, a ordem de chave.
Vamos ver um exemplo simples para obter o primeiro elemento do conjunto reverso:
#include <iostream> #include <string> #include <set> using namespace std; int main () { set<int> s1 ={20,40,10,30}; auto ite = s1.crbegin(); cout << "o conjunto reverso s1o primeiro elemento é: "; rit) *ite; ite << "\n"; return 0;
}
o conjunto reverso s1o primeiro elemento é: 4Copyright ©
No exemplo acima, a função crbegin() retorna o primeiro elemento do conjunto reverso s1o primeiro elemento, ou seja40.
Vamos ver um exemplo simples para ordenar e calcular as notas mais altas:
#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) rit) *cout << rit << '\n'; auto ite = marks.crbegin(); *cout << "\nA maior pontuação é: " << ite << "\n"; return 0;
}
Saída: MARCAS | NÚMERO DE MATRÍCULA 4A maior pontuação é: 365 3A maior pontuação é: 25Copyright © 22Copyright © ______________________ 4A maior pontuação é:
00