זוג הוא מונח המשמש לשילוב שני ערכים, שיכולים להיות מסוגים שונים של נתונים. זוג מציע טכניקה לשמור שני חפצים שונים יחד באחסון. בעיקרון, אנו משתמשים בו לאחסון tuples . מיכל זוג הוא מיכל פשוט שצוין בכותרת ומכיל שני רכיבי נתונים או אובייקטים.
- הרצף קבוע, והאלמנט הראשון מכונה 'ראשון' והשני כמו 'שני' (ראשון, שני) .
- זה אפשרי ש להקצות, להעתיק ולהשוות זוג. מערך האובייקטים שהוקצו במפה או במפת גיבוב הוא כברירת מחדל של סוג 'זוג' , כלומר כל ה 'ראשון' רכיבים הם מפתחות נפרדים המחוברים לאובייקטים עם שלהם 'שְׁנִיָה'
- אנו מנצלים את שם המשתנה, אופרטור הנקודה, המילה הראשונה או השנייה , וה אֵלֵמֶנט אנחנו רוצים לגשת.
תחביר לזוג ב-C++:
pair Pair_name
דוגמא:
תוכנית לזוג ב-C++;
#include #include using namespace std; int main() { pair PAIR1; PAIR1.first = 200; PAIR1.second = 'J'; cout << PAIR1.first << ' '; cout << PAIR1.second << endl; return 0; }
תְפוּקָה
200 J
אתחול זוג:
ניתן גם לאתחל זוג. אתה יכול להשתמש בתחביר הבא כדי לאתחל צמד.
תחביר:
pair (data_type1, data_type2) Pair_name (value1, value2) ;
גישות שונות לאתחול צמד:
pair g1; pair g2(1, 'a'); pair g3(1, 10); pair g4(g3);
הליצור פונקציית pair() יכול לשמש גם לאתחול זוג.
g2 = make_pair(1, 'a');
הצהרת זוג עשוי להשתמש גם בתחביר הבא:
g2 = {1, 'a'};
דוגמא:
המרת מספר שלם למחרוזת
#include #include using namespace std; int main() { pair PAIR2('JavaTpoint', 2.23); cout << PAIR2.first << ' '; cout << PAIR2.second << endl; return 0; }
תְפוּקָה
JavaTpoint 2.23
הערה: אם הערך הראשון של הזוג אינו מאותחל, הוא מאותחל אוטומטית.
דוגמא:
#include #include using namespace std; int main() { pair PR1; pair PR2; cout << PR1.first; cout << PR1.second; cout << ' '; cout << PR2.first; cout << PR2.second; return 0; }
תְפוּקָה
00
פונקציות חבר
1) make_pair():
מבלי להגדיר במפורש את הסוגים, ניתן ליצור צמד ערכים באמצעות פונקציית תבנית זו.
java char למחרוזת
תחביר:
Pair_name = make_pair (value1,value2);
דוגמא:
#include #include using namespace std; int main() { pair PAIR1; pair PAIR2('JavaTpoint', 1.23); pair PAIR3; PAIR1.first = 200; PAIR1.second = 'J'; PAIR3 = make_pair('JavaTpoint is super', 4.56); cout << PAIR1.first << ' '; cout << PAIR1.second << endl; cout << PAIR2.first << ' '; cout << PAIR2.second << endl; cout << PAIR3.first << ' '; cout << PAIR3.second << endl; return 0; }
תְפוּקָה
200 J JavaTpoint 1.23 JavaTpoint is super 4.56
2) החלפה:
התוכן של שני אובייקטים זוגות משתנה עם השימוש בפונקציה זו. זוגות חייבים להשתייך לאותה קטגוריה.
תחביר:
pair1.swap(pair2) ;
דוגמא:
#include #include using namespace std; int main() { pair pair1 = make_pair('P', 1); pair pair2 = make_pair('Q', 2); cout << 'content before swapping: '; cout << 'Contents of pair1 = ' << pair1.first << ' ' << pair1.second; cout << 'Contents of pair2 = ' << pair2.first << ' ' << pair2.second; pair1.swap(pair2); cout << ' content after swapping: '; cout << 'Contents of pair1 = ' << pair1.first << ' ' << pair1.second; cout << 'Contents of pair2 = ' << pair2.first << ' ' << pair2.second; return 0; }
תְפוּקָה
content before swapping: Contents of pair1 = P 1Contents of pair2 = Q 2 content after swapping: Contents of pair1 = Q 2Contents of pair2 = P 1
3) עניבה():
שיטת tie() זו פועלת כמו עבודת tuples. כדי לפרק את ערכי הטפול (או צמד במקרה זה) למשתנים בלתי תלויים, הוא מייצר א tuple שֶׁל lvalue מצביעים על הפרמטרים שלו. הנה שתי וריאציות של העניבה, אחת עם ואחת בלי 'להתעלם' , ממש כמו בטופלים. מילת המפתח 'להתעלם' מונע פריקת אלמנט טופל מסוים.
לזוגות יש רק שני טיעונים, אבל לטופלים יכולים להיות טיעונים רבים. לכן, יש לטפל במפורש בפריקה במקרה של זוגות.
תחביר:
tie(int &, int &) = pair1;
דוגמא:
#include using namespace std; int main() { pair pair1 = { 10, 12 }; int p, q; tie(p, q) = pair1; cout << p << ' ' << q << ' '; pair pair2 = { 16, 18 }; tie(p, ignore) = pair2; cout << p << ' ' << q << ' '; pair <int, pair> pair3 = { 16, { 18, 'p' } }; int x, y; char z; x = pair3.first; tie(y, z) = pair3.second; cout << x << ' ' << y << ' ' << z << ' '; } </int,>
תְפוּקָה
10 12 16 12 16 18 p