reverse() i C++ STL
I C++ motsatt() är en inbyggd funktion som används för att vända om ordningen på element i det givna intervallet av element. Detta intervall kan vara vilken STL-behållare som helst som vektor eller kan vara en array.
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 ; }
Produktion
5 4 3 2 1
Syntax för reverse()
Funktionen reverse() är definierad i
motsatt (först sist);
Parametrar:
- första : Iterator till det första elementet i intervallet.
- sista : Iterator till det teoretiska elementet strax efter det sista elementet i intervallet.
Returvärde:
- Denna funktion returnerar inget värde. Det vänder räckvidden på plats.
Exempel
Vända en array
Exemplen nedan visar hur man använder funktionen reverse() för att vända olika databehållare.
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 ; }
Produktion
5 4 3 2 1
Vänd en sträng
C++ #include using namespace std ; int main () { string s = 'abcd' ; // Reverse the string s reverse ( s . begin () s . end ()); cout < < s ; return 0 ; }
Produktion
dcba
Vänsterrotera en vektor med reverse()
De vänster rotation av en vektor kan göras genom att använda reverse() tre gånger på den.
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 ; }
Produktion
6 2 9 1 3Skapa frågesport