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()
ה סיבוב שמאלה של וקטור ניתן לעשות באמצעות 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צור חידון