reverse() у C++ STL
У C++ зворотний() це вбудована функція, яка використовується для зміни порядку елементів у заданому діапазоні елементів. Цей діапазон може бути будь-яким контейнером STL, наприклад вектором, або може бути масивом.
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 ; }
Вихід
5 4 3 2 1
Синтаксис reverse()
Функція reverse() визначена в
зворотний (перший останній);
Параметри:
- перший : Ітератор до першого елемента в діапазоні.
- останній : Ітератор до теоретичного елемента відразу після останнього елемента в діапазоні.
Повернене значення:
- Ця функція не повертає жодного значення. Це змінює діапазон на місці.
Приклади
Зміна масиву
Наведені нижче приклади показують, як використовувати функцію reverse() для перевертання різних контейнерів даних.
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 ; }
Вихід
5 4 3 2 1
Перевернути рядок
C++ #include using namespace std ; int main () { string s = 'abcd' ; // Reverse the string s reverse ( s . begin () s . end ()); cout < < s ; return 0 ; }
Вихід
dcba
Повернути вектор вліво за допомогою reverse()
The поворот вектора вліво можна зробити, використовуючи для нього три рази 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 ; }
Вихід
6 2 9 1 3Створіть вікторину