Matriz de pares em C ++

Matriz de pares em C ++

O termo par refere -se à combinação de dois valores de diferentes tipos. Par permite que você mantenha dois objetos separados como uma única unidade. É utilizado principalmente ao armazenar tuplas.

O contêiner de pares é um contêiner básico declarado no cabeçalho do utilitário que consiste em dois dados ou objetos coletados. O primeiro elemento no contêiner de par é referido como 'primeiro', enquanto o segundo elemento é referido como 'segundo', com a ordem fixada (primeiro, segundo).

Por padrão, o objeto de uma matriz especificado é alocada em um mapa ou mapa de hash do tipo 'par', com todos os 'primeiros' elementos com chaves exclusivas emparelhadas com seus objetos de valor 'segundo'. Para obter os elementos, usamos o nome da variável seguido pelo operador DOT e pela primeira ou segunda palavra -chave.

Neste artigo, os pares STL C ++ são usados. O C ++ STL (Biblioteca de modelo padrão) é uma coleção potente de classes de modelos C ++ que fornecem classes e funções de uso geral com modelos

Exemplo 1

Vamos inicializar um par de tipos de dados semelhantes no código C ++ a seguir. Na primeira etapa do código C ++, importamos três arquivos, o iostream, o arquivo utilitário e o arquivo de namespace std na seção de cabeçalho. O arquivo iostream fornece o objeto de fluxo de entrada/saída, enquanto o utilitário fornece utilitários de domínios desconectados. Este é o código sobre pares em C ++, por isso fornece o utilitário de emparelhamento aqui. Em seguida, temos o espaço para nome de DST para usar suas classes e funções.

Após a seção do cabeçalho, chamamos a função principal, onde temos que definir um par. O par tem dois tipos de objetos, um é do tipo de dados inteiro e o segundo objeto é do tipo de dados de char. Chamamos aquele par de "mypair". O número inteiro é considerado o primeiro par, e o objeto de tipo de char é considerado o segundo par.

Em seguida, inicializamos esses tipos de objetos de par com algum valor. Observe que o nome do par é usado como um operador de pontos com o termo primeiro e o segundo para acessar os elementos do par. Na última etapa, imprimimos os elementos dos pares com a instrução C ++ Cout.

#incluir
#incluir
usando namespace std;
int main ()

par Mypair;
Mypair.primeiro = 5;
Mypair.segundo = 'a';
cout << "pair is :\n";
cout << MyPair.first << " ";
cout << MyPair.second << endl;
retornar 0;

O resultado está na forma de emparelhado, como mostrado no seguinte prompt de Ubuntu.

Exemplo 2

Também podemos fazer uma função para pares em C ++ e inicializar o par nessa função. Construímos algum código para construir uma função de fabricação de pares, que você pode ver abaixo.

Em primeiro lugar, temos que incluir os arquivos necessários no cabeçalho do código C ++. Podemos acessar os objetos, funções, serviços públicos e aulas necessários através desses arquivos. Os pares são então declarados na função principal. Definimos três pares de nomes de variáveis ​​como "parval1", "parval2" e "parval3" com os diferentes tipos de dados de objeto. Inicializamos esses nomes de variáveis ​​de par usando o operador DOT com a ordem "fisrt" e "segundo".

Observe que a variável pareada "parval3" não é inicializada; Criamos uma função para este "parval3". A função é representada como "make_pair" e passa os valores de acordo com o tipo definido. Por fim, imprimimos esses valores de pares com o comando cout, respectivamente.

#incluir
#incluir
usando namespace std;
int main ()

par Parval1;
par Parval2 ("APILL", 27);
par Parval3;
Parval1.primeiro = 2022;
Parval1.segundo = 'y';
Parval3 = make_pair ("amanhã é apld", 28);
cout << PairVal1.first << " ";
cout << PairVal1.second << endl;
cout << PairVal2.first << " ";
cout << PairVal2.second << endl;
cout << PairVal3.first << " ";
cout << PairVal3.second << endl;
retornar 0;

Você pode ver que o resultado dos pares de diferentes métodos de inicialização fornece os valores dos pares da mesma maneira. O resultado é visto na imagem abaixo.

Exemplo 3

Também podemos trocar os pares usando a função de troca em c++. O código abaixo está trocando os valores do par. Os valores de um objeto de um par são trocados com os valores de outro objeto do par usando este método. Os pares devem conter o mesmo tipo de dados. O código começa com a seção de cabeçalho; Nós importamos os três arquivos de cabeçalho de C++.

Depois disso, chamamos a função principal. Temos dois pares na função principal, e os nomes de variáveis ​​para ambos os dois pares são "P1" e "P2.”Esses dois pares são do mesmo objeto de tipo de dados que“ int ”e“ char ”. Criamos a função "make_pairs" simultaneamente como criamos os pares. A função "make_pair" contém o valor para esses pares. O conteúdo dos pares foi então impresso usando o comando cout.

Temos uma função de troca na qual trocamos o par "P1" com o par "P2". Primeiro com o P2.primeiro e o mesmo que o P1.segundo com o P2.Segundo elementos dos pares especificados.

#incluir
#incluir
usando namespace std;
int main ()

par p1 = make_pair ('z', 26);
par p2 = make_pair ('y', 25);
cout << "pairs before swapping:\n ";
cout << " p1 = " << p1.first << " "<< p1.second;
cout << " p2 = " << p2.first << " "<< p2.second;
P1.troca (P2);
cout << "\nPairs after swapping:\n ";
cout << " p1 = " << p1.first << " "
<< p1.second;
cout << " p2 = " << p2.first << " "
<< p2.second;
cout << "\n ";
retornar 0;

A saída mostra os resultados do par antes de trocar e depois de trocar na tela do console abaixo.

Exemplo 4

Usando a classe C ++ Stl Par, podemos classificar uma matriz dependente da outra. O par é criado escolhendo um elemento de um par e outro do segundo par. Em seguida, utilize a função de classificação para classificar os resultados. Consideramos que o primeiro membro do par deveria criar a matriz a partir da qual a classificação é conduzida.

No código a seguir, temos uma declaração de classe com a palavra -chave "modelo", o tipo "T" é o parâmetro passado para a classe de modelo. Em seguida, criamos a função como "exibição", que gerou uma matriz como arr [], e também a variável "num" é passada no construtor da função.

No bloco de funções, temos um loop para que itera sobre os elementos da matriz e exibe os elementos da matriz. Outra função é criada como "SortSondarr", que possui o algoritmo de classificação para uma matriz "ARR1" e "ARR2" do tipo de dados inteiro. A matriz de pares também é declarada como "par_arr []", que tem a variável "num". Então a função de classificação é invocada, o que classifica o par_arr. O primeiro elemento do par ARR1 é classificado com os elementos do par de par “Ar2”.

Na função principal, inicializamos os valores para a matriz de pares “ARR1” e a matriz de pares “ARR2”. Essas matrizes classificadas e a matriz de pares originais serão exibidas usando o comando cout.

#incluir
#incluir
#incluir
usando namespace std;
modelo
Void Display (t arr [], int num)
para (int i = 0; i < num; i++)
cout << arr[i]<< " ";

Void SortSecondarr (int arr1 [], char arr2 [], int num)
par par_arr [num];
para (int i = 0; i < num; i++)
par_arr [i].primeiro = arr1 [i];
par_arr [i].segundo = arr2 [i];

classificar (par_arr, par_arr + num);
para (int i = 0; i < num; i++)
Arr1 [i] = par_arr [i].primeiro;
Arr2 [i] = par_arr [i].segundo;


int main ()
int num = 5;
int arr1 [] = 3, 1, 2, 4, 5;
char arr2 [] = 'a', 'b', 'c', 'd', 'e';
cout << "Array before Sorting: "<cout << "Array Arr1 : "; display(Arr1, num);
cout << "\nArray Arr2: "; display(Arr2, num);
STORSECONDARR (ARR1, ARR2, NUM);
cout << "\n\nArray after Sorting: "<cout << "Array Arr1: "; display(Arr1, num);
cout << "\nArray Arr2: "; display(Arr2, num);
cout << "\n";

Portanto, a matriz de pares é classificada e exibida na tela do terminal abaixo.

Conclusão

Concluímos nosso artigo demonstrando os pares de matrizes em C++. Exploramos as diferentes maneiras de inicializar os pares em C ++ usando sintaxe diferente. Também usamos a função de classificação para classificar a matriz de pares com eficiência. Todos os resultados de pares em C ++ são comprovados no exemplo e compilados com sucesso no compilador G ++. Esperamos que este artigo tenha ajudado você a alcançar uma nova idéia do conceito de modelo do par e como usá -lo em c++.