logo

PÁROVAT V C++

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 << '
&apos;; pair <int, pair> pair3 = { 16, { 18, &apos;p&apos; } }; int x, y; char z; x = pair3.first; tie(y, z) = pair3.second; cout &lt;&lt; x &lt;&lt; &apos; &apos; &lt;&lt; y &lt;&lt; &apos; &apos; &lt;&lt; z &lt;&lt; &apos;
&apos;; } </int,>

Výstup

 10 12 16 12 16 18 p