Par é um termo usado para combinar dois valores, que podem ser de vários tipos de dados. Par oferece uma técnica para manter dois objetos diferentes juntos no armazenamento. Essencialmente, nós o usamos para armazenar tuplas . Um contêiner de pares é um contêiner simples especificado no cabeçalho e contém dois elementos de dados ou objetos.
- A sequência é fixa e o primeiro elemento é referido como 'primeiro' e o segundo como 'segundo' (primeiro, segundo) .
- É possível atribuir, copiar e comparar um par. A matriz de objetos alocados em um mapa ou mapa hash é, por padrão, do tipo 'par' , o que significa que todos os 'primeiro' componentes são chaves distintas conectadas a objetos com seus 'segundo'
- Nós utilizamos o nome da variável, o operador ponto, a palavra primeiro ou segundo , e a elemento queremos acessar.
Sintaxe para par em C++:
pair Pair_name
Exemplo:
estados unidos quantas cidades
Um programa para par em 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; }
Saída
200 J
Inicialização do par:
Um par também pode ser inicializado. Você pode usar a seguinte sintaxe para inicializar o par.
Sintaxe:
pair (data_type1, data_type2) Pair_name (value1, value2) ;
Várias abordagens para inicialização de pares:
pair g1; pair g2(1, 'a'); pair g3(1, 10); pair g4(g3);
A marca função par() também pode ser usado para inicializar um par.
g2 = make_pair(1, 'a');
Declaração de par também pode usar a seguinte sintaxe:
g2 = {1, 'a'};
Exemplo:
#include #include using namespace std; int main() { pair PAIR2('JavaTpoint', 2.23); cout << PAIR2.first << ' '; cout << PAIR2.second << endl; return 0; }
Saída
JavaTpoint 2.23
Nota: Se o primeiro valor do par não for inicializado, ele será inicializado automaticamente.
Exemplo:
conversão de string para int em java
#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; }
Saída
00
Funções de membro
1) make_pair():
Sem definir explicitamente os tipos, um par de valores pode ser criado usando esta função de modelo.
Sintaxe:
Pair_name = make_pair (value1,value2);
Exemplo:
#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; }
Saída
200 J JavaTpoint 1.23 JavaTpoint is super 4.56
2) troca:
O conteúdo de dois objetos pares é trocado com o uso desta função. Os pares devem pertencer à mesma categoria.
Sintaxe:
pair1.swap(pair2) ;
Exemplo:
np significa
#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; }
Saída
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) empate():
Este método tie() funciona da mesma forma que as tuplas. Para descompactar os valores da tupla (ou par, neste caso) em variáveis independentes, ele produz um tupla de valor ponteiros para seus parâmetros. Aqui estão duas variações da gravata, uma com e outra sem 'ignorar' , assim como nas tuplas. A palavra-chave 'ignorar' impede que um determinado elemento da tupla seja descompactado.
Os pares possuem apenas dois argumentos, mas as tuplas podem ter vários argumentos. Portanto, a descompactação precisa ser tratada explicitamente no caso de pares.
Sintaxe:
tie(int &, int &) = pair1;
Exemplo:
#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,>
Saída
10 12 16 12 16 18 p