reverse() C++ STL:ssä
C++:ssa käänteinen () on sisäänrakennettu funktio, jota käytetään vaihtamaan elementtien järjestystä tietyllä elementtialueella. Tämä alue voi olla mikä tahansa STL-säiliö, kuten vektori, tai se voi olla matriisi.
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 ; }
Lähtö
5 4 3 2 1
Reverse() syntaksi
Reverse()-funktio on määritelty
päinvastoin (ensimmäinen viimeinen);
Parametrit:
- ensimmäinen : Iteraattori alueen ensimmäiseen elementtiin.
- kestää : Iteraattori teoreettiseen elementtiin juuri alueen viimeisen elementin jälkeen.
Palautusarvo:
- Tämä funktio ei palauta mitään arvoa. Se kääntää alueen päinvastaiseksi.
Esimerkkejä
Matriisin kääntäminen
Alla olevat esimerkit osoittavat, kuinka reverse()-funktiota käytetään useiden tietosäiliöiden kääntämiseen.
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 ; }
Lähtö
5 4 3 2 1
Käänteinen merkkijono
C++ #include using namespace std ; int main () { string s = 'abcd' ; // Reverse the string s reverse ( s . begin () s . end ()); cout < < s ; return 0 ; }
Lähtö
dcba
Kierrä vektoria vasemmalle käyttämällä reverse()
The vektorin kierto vasemmalle voidaan tehdä käyttämällä reverse():tä kolme kertaa.
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 ; }
Lähtö
6 2 9 1 3Luo tietokilpailu