Tableau de paires en C ++

Tableau de paires en C ++

Le terme paire fait référence à la combinaison de deux valeurs de différents types. La paire vous permet de conserver deux objets distincts en une seule unité. Il est principalement utilisé lors du stockage des tuples.

Le conteneur de paire est un conteneur de base déclaré dans l'en-tête de l'utilitaire qui se compose de deux données ou objets collectés. Le premier élément du conteneur de la paire est appelé `` d'abord '', tandis que le deuxième élément est appelé `` deuxième '', avec l'ordre fixé comme (premier, deuxième).

Par défaut, l'objet d'un tableau spécifié est alloué dans une carte ou une carte de hachage du type «paire», avec tous les «premiers» éléments ayant des touches uniques associées à leurs objets de valeur «deuxième». Pour obtenir les éléments, nous utilisons le nom de la variable suivi par l'opérateur DOT et par les premier ou deuxième mots clés.

Dans cet article, les paires C ++ STL sont utilisées. Le C ++ STL (Bibliothèque de modèles standard) est une puissante collection de classes de modèles C ++ qui fournissent des classes et des fonctions à usage général avec des modèles

Exemple 1

Nous allons initialiser une paire de types de données similaires dans le code C ++ suivant. Dans la première étape du code C ++, nous avons importé trois fichiers, le fichier iOStream, l'utilitaire et le fichier std de l'espace de noms dans la section d'en-tête. Le fichier ioStream fournit l'objet de flux d'entrée / sortie, tandis que l'utilitaire fournit des utilitaires à partir de domaines non connectés. Ceci est le code sur les paires en C ++, il fournit donc l'utilitaire de jumelage ici. Ensuite, nous avons l'espace de noms STD pour utiliser ses classes et ses fonctions.

Après la section d'en-tête, nous avons appelé la fonction principale où nous devons définir une paire. La paire a deux types d'objets, l'un est de type de données entier et le deuxième objet est de type de données charbon. Nous avons nommé cette paire "mypair". L'entier est considéré comme la première paire, et l'objet de type char est considéré comme la deuxième paire.

Ensuite, nous avons initialisé ces types d'objets de paire avec une certaine valeur. Notez que le nom de la paire est utilisé comme opérateur de points avec le terme premier et deuxième pour accéder aux éléments de la paire. Dans la dernière étape, nous avons imprimé les éléments des paires avec l'instruction C ++ COT.

#inclure
#inclure
Utilisation de Namespace Std;
int main()

paire Mypair;
Mypair.d'abord = 5;
Mypair.seconde = 'a';
couter << "pair is :\n";
couter << MyPair.first << " ";
couter << MyPair.second << endl;
retour 0;

Le résultat est sous la forme de jumelé comme indiqué dans l'invite suivante d'Ubuntu.

Exemple 2

Nous pouvons également faire une fonction pour les paires en C ++ et initialiser la paire dans cette fonction. Nous avons construit un code pour construire une fonction de fabrication de paires, que vous pouvez voir ci-dessous.

Tout d'abord, nous devons inclure les fichiers requis dans l'en-tête du code C ++. Nous pouvons accéder aux objets, fonctions, utilitaires et classes requis via ces fichiers. Les paires sont ensuite déclarées dans la fonction principale. Nous avons défini trois paires de noms de variables comme «pairval1», «pairval2» et «pairval3» avec les différents types de données d'objet. Nous avons initialisé ces noms de variables de paire en utilisant l'opérateur de points avec l'ordre «FISRT» et «Second».

Notez que la variable appariée «pairval3» n'est pas initialisée; Nous avons créé une fonction pour ce «pairval3». La fonction est représentée comme «Make_pair» et passe les valeurs selon le type défini. Enfin, nous avons imprimé ces valeurs de paire avec la commande cout, respectivement.

#inclure
#inclure
Utilisation de Namespace Std;
int main()

paire PairVal1;
paire PairVal2 ("apirl", 27);
paire PairVal3;
Pairval1.d'abord = 2022;
Pairval1.deuxième = 'y';
PairVal3 = Make_pair ("TomMorrow est apirl", 28);
couter << PairVal1.first << " ";
couter << PairVal1.second << endl;
couter << PairVal2.first << " ";
couter << PairVal2.second << endl;
couter << PairVal3.first << " ";
couter << PairVal3.second << endl;
retour 0;

Vous pouvez voir que le résultat des paires de différentes méthodes d'initialisation donne les valeurs de paire de la même manière. Le résultat est vu dans l'image ci-dessous.

Exemple 3

Nous pouvons également échanger les paires en utilisant la fonction d'échange en c++. Le code ci-dessous échange les valeurs de la paire. Les valeurs d'un objet de paire sont échangées avec les valeurs d'un autre objet de la paire en utilisant cette méthode. Les paires doivent contenir le même type de données. Le code commence par la section d'en-tête; Nous avons importé les trois fichiers d'en-tête de C++.

Après cela, nous avons appelé la fonction principale. Nous avons deux paires dans la fonction principale, et les noms variables pour ces deux paires sont «P1» et «P2.«Ces deux paires sont du même objet de type de données que« int »et« char ». Nous avons créé la fonction «Make_pairs» simultanément car nous avons créé les paires. La fonction «Make_pair» contient la valeur de ces paires. Le contenu des couples a ensuite été imprimé à l'aide de la commande cout.

Nous avons une fonction de swap dans laquelle nous échangeons la paire "P1" avec la paire "P2". Tout d'abord avec le P2.Premier et même que le P1.deuxième avec le P2.Deuxième éléments des paires spécifiées.

#inclure
#inclure
Utilisation de Namespace Std;
int main()

paire p1 = make_pair ('z', 26);
paire p2 = make_pair ('y', 25);
couter << "pairs before swapping:\n ";
couter << " p1 = " << p1.first << " "<< p1.second;
couter << " p2 = " << p2.first << " "<< p2.second;
P1.échange (p2);
couter << "\nPairs after swapping:\n ";
couter << " p1 = " << p1.first << " "
<< p1.second;
couter << " p2 = " << p2.first << " "
<< p2.second;
couter << "\n ";
retour 0;

La sortie montre les résultats de la paire avant d'échanger et après avoir échangé sur l'écran de la console ci-dessous.

Exemple 4

En utilisant la classe de paire C ++ STL, nous pouvons trier un tableau dépendant de l'autre. La paire est créée en choisissant un élément d'une paire et une autre de la deuxième paire. Ensuite, utilisez la fonction de tri pour trier les résultats. Nous avons considéré que le premier membre de la paire devrait créer le tableau à partir duquel le tri est réalisé.

Dans le code suivant, nous avons une déclaration de classe avec le mot-clé «modèle», le type «t» est le paramètre passé pour la classe de modèle. Ensuite, nous avons créé la fonction comme «affichage», qui a généré un tableau comme arr [], et aussi la variable «num» est passé dans le constructeur de la fonction.

Dans le bloc fonction, nous avons une boucle pour itérère sur les éléments du tableau et affiche les éléments du tableau. Une autre fonction est créée comme «Sortsecondarr», qui a l'algorithme de tri pour un tableau «Arr1» et «Arr2» du type de données entier. Le tableau des paires est également déclaré «pair_arr []», qui a la variable «num». Ensuite, la fonction de tri est invoquée, qui trie le paire_arr. Le premier élément de la paire ARR1 est trié avec les éléments de la paire de la paire "arr2".

Dans la fonction principale, nous avons initialisé les valeurs du tableau des paires «Arr1» et le tableau des paires «Arr2». Ces tableaux triés et le tableau de paires d'origine seront affichés en utilisant la commande cout.

#inclure
#inclure
#inclure
Utilisation de Namespace Std;
modèle
void affiche (t arr [], int num)
pour (int i = 0; i < num; i++)
couter << arr[i]<< " ";

void triSeCondarr (int arr1 [], char arr2 [], int num)
paire pair_arr [num];
pour (int i = 0; i < num; i++)
pair_arr [i].d'abord = arr1 [i];
pair_arr [i].seconde = arr2 [i];

tri (pair_arr, pair_arr + num);
pour (int i = 0; i < num; i++)
Arr1 [i] = pair_arr [i].d'abord;
Arr2 [i] = pair_arr [i].deuxième;


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

Par conséquent, le tableau des paires est trié et affiché sur l'écran du terminal ci-dessous.

Conclusion

Nous avons conclu notre article en démontrant les paires de tableaux en C++. Nous avons exploré les différentes façons d'initialiser les paires en C ++ en utilisant une syntaxe différente. Nous avons également utilisé la fonction de tri pour trier efficacement le tableau des paires. Tous les résultats des paires en C ++ sont prouvés dans l'exemple et compilés avec succès dans le compilateur G ++. Nous espérons que cet article vous a aidé à réaliser une nouvelle idée du concept de modèle de paire et comment l'utiliser en C++.