Pár je termín používaný ke spojení dvou hodnot, které mohou být různého druhu dat. Pár nabízí techniku, jak uložit dva různé předměty pohromadě. V podstatě jej používáme ke skladování n-tice . Párový kontejner je přímý kontejner, který je uveden v záhlaví a obsahuje dva datové prvky nebo objekty.
- Posloupnost je pevná a první prvek je označován jako 'První' a druhý jako 'druhý' (první, druhý) .
- Je možné přiřazovat, kopírovat a porovnávat pár. Pole objektů alokovaných v mapě nebo hash mapě je ve výchozím nastavení typu 'pár' , což znamená, že všechny 'První' komponenty jsou odlišné klíče spojené s objekty s jejich 'druhý'
- Využíváme název proměnné, operátor tečky, slovo první nebo druhé a živel chceme přistupovat.
Syntaxe pro pár v C++:
pair Pair_name
Příklad:
Program pro párování v 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; }
Výstup
200 J
Inicializace páru:
Inicializovat lze i pár. K inicializaci páru můžete použít následující syntaxi.
Syntax:
pair (data_type1, data_type2) Pair_name (value1, value2) ;
Různé přístupy k inicializaci páru:
pair g1; pair g2(1, 'a'); pair g3(1, 10); pair g4(g3);
Značka funkce pair(). lze také použít k inicializaci páru.
g2 = make_pair(1, 'a');
Prohlášení o páru může také používat následující syntaxi:
generovat náhodné číslo v java
g2 = {1, 'a'};
Příklad:
#include #include using namespace std; int main() { pair PAIR2('JavaTpoint', 2.23); cout << PAIR2.first << ' '; cout << PAIR2.second << endl; return 0; }
Výstup
JavaTpoint 2.23
Poznámka: Pokud není první hodnota páru inicializována, inicializuje se automaticky.
Příklad:
#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; }
Výstup
00
Funkce členů
1) make_pair():
Bez explicitního definování typů lze pomocí této funkce šablony vytvořit pár hodnot.
Syntax:
Pair_name = make_pair (value1,value2);
Příklad:
#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; }
Výstup
200 J JavaTpoint 1.23 JavaTpoint is super 4.56
2) výměna:
Pomocí této funkce se přepíná obsah dvou párových objektů. Páry musí patřit do stejné kategorie.
Syntax:
pair1.swap(pair2) ;
Příklad:
#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; }
Výstup
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) kravata():
Tato metoda tie() funguje stejně jako n-tice. Chcete-li rozbalit n-tici (nebo v tomto případě pár) hodnot do nezávislých proměnných, vytvoří a tuple z lhodnota ukazuje na jeho parametry. Zde jsou dvě varianty kravaty, jedna s a jedna bez 'ignorovat' , stejně jako v n-ticích. Klíčové slovo 'ignorovat' zabraňuje rozbalení určitého prvku n-tice.
Páry mají pouze dva argumenty, ale n-tice mohou mít mnoho argumentů. V případě párů je tedy třeba vybalení řešit výslovně.
Syntax:
jvm
tie(int &, int &) = pair1;
Příklad:
#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,>
Výstup
10 12 16 12 16 18 p