reverse() v C++ STL
V C++ je obrátiť () je vstavaná funkcia slúžiaca na obrátenie poradia prvkov v danom rozsahu prvkov. Tento rozsah môže byť ľubovoľný STL kontajner ako vektor alebo môže byť pole.
C++ #include using namespace std ; int main () { vector < int > v = { 1 2 3 4 5 }; // Reversing the vector reverse ( v . begin () v . end ()); for ( int i : v ) cout < < i < < ' ' ; return 0 ; }
Výstup
5 4 3 2 1
Syntax funkcie reverse()
Funkcia reverse() je definovaná v
obrátene (prvý posledný);
Parametre:
- najprv : Iterátor na prvý prvok v rozsahu.
- posledný : Iterátor k teoretickému prvku hneď za posledným prvkom v rozsahu.
Návratová hodnota:
- Táto funkcia nevracia žiadnu hodnotu. Obráti rozsah na mieste.
Príklady
Obrátenie poľa
Nižšie uvedené príklady ukazujú, ako použiť funkciu reverse() na zvrátenie rôznych dátových kontajnerov.
C++ #include using namespace std ; int main () { int arr [] = { 1 2 3 4 5 }; int n = sizeof ( arr ) / sizeof ( arr [ 0 ]); // Reverse the array arr reverse ( arr arr + n ); for ( int i : arr ) cout < < i < < ' ' ; return 0 ; }
Výstup
5 4 3 2 1
Obráťte reťazec
C++ #include using namespace std ; int main () { string s = 'abcd' ; // Reverse the string s reverse ( s . begin () s . end ()); cout < < s ; return 0 ; }
Výstup
dcba
Doľava Otočte vektor pomocou reverse()
The rotácia vektora doľava dá sa to urobiť tak, že na to trikrát použijete reverse().
C++ #include using namespace std ; int main () { vector < int > v = { 1 3 6 2 9 }; int n = v . size (); int d = 2 ; // Left rotate the vector by d place reverse ( v . begin () v . begin () + d ); reverse ( v . begin () + d v . end ()); reverse ( v . begin () v . end ()); for ( auto i : v ) cout < < i < < ' ' ; return 0 ; }
Výstup
6 2 9 1 3Vytvoriť kvíz