Angenommen, wir haben eine Kartendatenstruktur eines Schülerdatenträgers. Der Name des Datenträgers besteht aus ganzzahligen Daten und der Name besteht aus Daten vom Typ Zeichenfolge. Auf unserer Standardeingabe stellen wir n Abfragen bereit. Jede Abfrage (pro Zeile) muss zwei Elemente enthalten, bei Typ-1-Abfragen drei Elemente. Das erste Element ist der Operator, das zweite der Datenträger, das dritte der Name und bei Abfragen mit zwei Elementen ist das zweite die Datenträgernummer. So geht's –
Einfügen. Dadurch wird der Name in die Karte des entsprechenden Volumes eingefügt
löschen. Dadurch wird die entsprechende Rollennummer von der Karte entfernt, sofern vorhanden.
Suchen. Dadurch wird die Karte mit der Rollennummer nach dem Namen durchsucht und der Name angezeigt, falls vorhanden, andernfalls wird nicht gefunden angezeigt.
Wenn die Eingabe also etwa n = 8 ist, dann ist die Abfrage = [[1,5,"Atanu"], [1,8,"Tapan"], [1,3,"Manish"],[ 2,8],[1,9,"Piyali"], [3,8],[3,3], [3,5]], dann lautet die Ausgabe seit dem Rollen [Nicht gefunden, Manish, Atanu]. 8 existiert nicht, der Name des Schülers in Rolle 3 ist Manish und der Name des Schülers in Rolle 5 ist „Atanu“.
Um dieses Problem zu lösen, führen wir die folgenden Schritte aus:
Sehen wir uns zum besseren Verständnis die folgende Implementierung an –
#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
Das obige ist der detaillierte Inhalt vonC++-Programm, das Map STL verwendet, um die Schülernummern und -namen der Schüler zu speichern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!