Para to termin używany do łączenia dwóch wartości, które mogą należeć do różnych typów danych. Para oferuje technikę przechowywania dwóch różnych obiektów razem w magazynie. Zasadniczo używamy go do przechowywania krotki . Kontener par to prosty kontener określony w nagłówku i zawierający dwa elementy danych lub obiekty.
- Kolejność jest ustalona, a pierwszy element to tzw 'Pierwszy' a drugi jako „drugi” (pierwszy, drugi) .
- Jest to możliwe przydzielaj, kopiuj i porównuj para. Tablica obiektów przydzielonych na mapie lub mapie skrótu ma domyślnie typ 'para' , co oznacza, że wszystkie 'Pierwszy' komponenty to odrębne klucze powiązane z obiektami za pomocą ich 'drugi'
- Korzystamy z nazwa zmiennej, operator kropki, pierwsze lub drugie słowo , oraz element chcemy uzyskać dostęp.
Składnia pary w C++:
pair Pair_name
Przykład:
Program dla par w 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; }
Wyjście
200 J
Inicjalizacja pary:
Można także zainicjować parę. Aby zainicjować parę, możesz użyć następującej składni.
Składnia:
Zrzucony rdzeń błędu segmentacji
pair (data_type1, data_type2) Pair_name (value1, value2) ;
Różne podejścia do inicjalizacji par:
pair g1; pair g2(1, 'a'); pair g3(1, 10); pair g4(g3);
Marka funkcja pary(). może być również użyty do inicjalizacji pary.
g2 = make_pair(1, 'a');
Deklaracja pary może również użyć następującej składni:
algorytm k-nn
g2 = {1, 'a'};
Przykład:
#include #include using namespace std; int main() { pair PAIR2('JavaTpoint', 2.23); cout << PAIR2.first << ' '; cout << PAIR2.second << endl; return 0; }
Wyjście
JavaTpoint 2.23
Uwaga: Jeśli pierwsza wartość pary nie zostanie zainicjowana, zostanie ona zainicjowana automatycznie.
Przykład:
#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; }
Wyjście
00
Funkcje członkowskie
1) make_pair():
Bez jawnego definiowania typów, za pomocą tej funkcji szablonu można utworzyć parę wartości.
Składnia:
pole listy Java
Pair_name = make_pair (value1,value2);
Przykład:
#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; }
Wyjście
200 J JavaTpoint 1.23 JavaTpoint is super 4.56
2) zamiana:
Za pomocą tej funkcji następuje zamiana zawartości dwóch par obiektów. Pary muszą należeć do tej samej kategorii.
Składnia:
pair1.swap(pair2) ;
Przykład:
#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; }
Wyjście
c struktura w strukturze
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) krawat():
Ta metoda tie() działa tak samo jak krotki. Aby rozpakować wartości krotki (lub w tym przypadku pary) do zmiennych niezależnych, powstaje a krotka z wartość wskazuje na jego parametry. Oto dwie wersje krawata, jedna z i druga bez 'ignorować' , podobnie jak w krotkach. Słowo kluczowe 'ignorować' zapobiega rozpakowaniu określonego elementu krotki.
Pary mają tylko dwa argumenty, ale krotki mogą mieć wiele argumentów. Dlatego w przypadku par należy wyraźnie rozważyć rozpakowywanie.
Składnia:
tie(int &, int &) = pair1;
Przykład:
#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,>
Wyjście
10 12 16 12 16 18 p