Reverse () C++ STL
C++ kalboje atvirkščiai () yra integruota funkcija, naudojama pakeisti elementų tvarką nurodyto elementų diapazone. Šis diapazonas gali būti bet koks STL konteineris, pavyzdžiui, vektorius, arba gali būti masyvas.
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 ; }
Išvestis
5 4 3 2 1
Reverse() sintaksė
Reverse() funkcija yra apibrėžta
atvirkščiai (pirmas paskutinis);
Parametrai:
- pirma : Iteratorius į pirmąjį diapazono elementą.
- paskutinis : Iteratorius į teorinį elementą iškart po paskutinio elemento diapazone.
Grąžinimo vertė:
- Ši funkcija negrąžina jokios reikšmės. Jis keičia diapazoną vietoje.
Pavyzdžiai
Masyvo apvertimas
Toliau pateiktuose pavyzdžiuose parodyta, kaip naudoti reverse() funkciją norint pakeisti duomenų konteinerių įvairovę.
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 ; }
Išvestis
5 4 3 2 1
Apverskite eilutę
C++ #include using namespace std ; int main () { string s = 'abcd' ; // Reverse the string s reverse ( s . begin () s . end ()); cout < < s ; return 0 ; }
Išvestis
dcba
Pasukite vektorių į kairę naudodami reverse ()
The vektoriaus sukimas į kairę Tai galima padaryti tris kartus naudojant 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 ; }
Išvestis
6 2 9 1 3Sukurti viktoriną