reverse() u C++ STL
U C++-u obrnuti () je ugrađena funkcija koja se koristi za obrnuti redoslijed elemenata u zadanom rasponu elemenata. Ovaj raspon može biti bilo koji STL spremnik poput vektora ili može biti niz.
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 ; }
Izlaz
5 4 3 2 1
Sintaksa reverse()
Funkcija reverse() definirana je u
obrnuti (prvi posljednji);
Parametri:
- prvi : Iterator prvog elementa u rasponu.
- trajati : Iterator teoretskog elementa neposredno nakon zadnjeg elementa u rasponu.
Povratna vrijednost:
- Ova funkcija ne vraća nikakvu vrijednost. Obrće raspon na mjestu.
Primjeri
Okretanje niza
Primjeri u nastavku pokazuju kako koristiti funkciju reverse() za preokretanje različitih spremnika podataka.
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 ; }
Izlaz
5 4 3 2 1
Obrnuti niz
C++ #include using namespace std ; int main () { string s = 'abcd' ; // Reverse the string s reverse ( s . begin () s . end ()); cout < < s ; return 0 ; }
Izlaz
dcba
Lijevo zakretanje vektora pomoću reverse()
The lijeva rotacija vektora može se učiniti korištenjem reverse() tri puta na njemu.
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 ; }
Izlaz
6 2 9 1 3Napravi kviz