logo

reverse() valodā C++ STL

Programmā C++ reverse() ir iebūvēta funkcija, ko izmanto, lai mainītu elementu secību dotajā elementu diapazonā. Šis diapazons var būt jebkurš STL konteiners, piemēram, vektors, vai arī masīvs.

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; } 

Izvade
5 4 3 2 1 

Reverse() sintakse

Reverse() funkcija ir definēta galvenes fails.

otrādi (pirmais pēdējais);



Parametri:

  • vispirms : Iterators uz pirmo elementu diapazonā.
  • pēdējais : teorētiskā elementa iterators tūlīt pēc diapazona pēdējā elementa.

Atgriešanas vērtība:

  • Šī funkcija neatgriež nekādu vērtību. Tas maina diapazonu vietā.

Piemēri

Masīva apgriešana

Tālāk esošie piemēri parāda, kā izmantot reverse() funkciju, lai mainītu dažādus datu konteinerus.

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; } 

Izvade
5 4 3 2 1 

Apgriezt virkni

C++
#include    using namespace std; int main() {  string s = 'abcd';  // Reverse the string s  reverse(s.begin() s.end());  cout << s;  return 0; } 

Izvade
dcba

Pagriezt vektoru pa kreisi, izmantojot reverse()

The vektora rotācija pa kreisi To var izdarīt, trīs reizes izmantojot reverse().

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; } 

Izvade
6 2 9 1 3 
Izveidojiet viktorīnu