reverse() in C++ STL
In C++ de achteruit() is een ingebouwde functie die wordt gebruikt om de volgorde van elementen in het gegeven bereik van elementen om te keren. Dit bereik kan elke STL-container zijn, zoals een vector, of kan een array zijn.
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 ; }
Uitvoer
5 4 3 2 1
Syntaxis van reverse()
De functie reverse() is gedefinieerd in de
achteruit (eerste laatste);
Parameters:
- Eerst : Iterator naar het eerste element in het bereik.
- laatst : Iterator naar het theoretische element net na het laatste element in het bereik.
Retourwaarde:
- Deze functie retourneert geen enkele waarde. Het keert het bereik ter plaatse om.
Voorbeelden
Een array omkeren
De onderstaande voorbeelden laten zien hoe u de functie reverse() kunt gebruiken om verschillende gegevenscontainers om te keren.
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 ; }
Uitvoer
5 4 3 2 1
Een string omkeren
C++ #include using namespace std ; int main () { string s = 'abcd' ; // Reverse the string s reverse ( s . begin () s . end ()); cout < < s ; return 0 ; }
Uitvoer
dcba
Links roteren van een vector met reverse()
De linksom draaien van een vector kan worden gedaan door er drie keer reverse() op te gebruiken.
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 ; }
Uitvoer
6 2 9 1 3Quiz maken