logo

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 header-fil.

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 3 
Skapa frågesport