Maison >développement back-end >C++ >Programme C++ qui utilise la carte STL pour stocker les numéros et noms des étudiants
Supposons que nous ayons une structure de données cartographiques d'un volume étudiant. Le nom du volume est une donnée entière et le nom est une donnée de type chaîne. Sur notre entrée standard, nous fournissons n requêtes. Il doit y avoir deux éléments dans chaque requête (par ligne), ou trois éléments pour les requêtes de type 1. Le premier élément est l'opérateur, le deuxième est le volume, le troisième est le nom et pour les requêtes à deux éléments, le deuxième est le numéro du volume. Voici comment procéder -
Insérer. Cela insérera le nom dans la carte du volume correspondant
delete. Cela supprimera le numéro de rôle correspondant de la carte s'il existe.
Recherche. Cela recherchera le nom sur la carte avec le numéro de rôle et l'affichera s'il est présent, sinon il ne sera pas trouvé.
Donc, si l'entrée est quelque chose comme n = 8 alors la requête = [[1,5,"Atanu"], [1,8,"Tapan"], [1,3,"Manish "],[ 2,8],[1,9,"Piyali"], [3,8],[3,3], [3,5]], alors le résultat sera [Not found, Manish, Atanu], puisque roll 8 n'existe pas, le nom de l'élève du rouleau 3 est Manish et le nom de l'élève du rouleau 5 est "Atanu".
Pour résoudre ce problème, nous suivrons les étapes suivantes -
Voyons l'implémentation suivante pour une meilleure compréhension -
#include <iostream> #include <map> using namespace std; int main(){ int n; cin >> n; map<int, string> m; while (n--) { int t; cin >> t; int roll; cin >> roll; if (t == 1) { string name; cin >> name; m[roll] = name; } else if (t == 2) { m[roll] = ""; } else { if(m[roll] != "") cout << m[roll] << endl; else cout << "Not found" << endl; } } }
8 1 5 Atanu 1 8 Tapan 1 3 Manish 2 8 1 9 Piyali 3 8 3 3 3 5
Not found Manish Atanu
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!