Suppose we have a map data structure of a student volume. The name of the volume is integer data and the name is string type data. On our standard input, we provide n queries. There must be two elements in each query (per row), or three elements for type 1 queries. The first item is the operator, the second is the volume, the third is the name, and for two-element queries, the second is the volume number. The operation is as follows -
Insert. This will insert the name into the map for the corresponding volume
removed. This will remove the corresponding roll number from the map if it exists.
search. This will search the map with the roll number for the name and display the name if present, otherwise display not found.
So if the input is something like n = 8, then the query = [[1,5,"Atanu"], [1,8,"Tapan"], [ 1,3,"Manish"],[2,8],[1,9,"Piyali"], [3,8],[3,3], [3,5]], then output will be [Not found, Manish, Atanu] because roll 8 does not exist and the name of the student in roll 3 is Manish and the name of the student in roll 5 is "Atanu".
To solve this problem, we will follow the following steps-
#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; } } }
Input
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
The above is the detailed content of C++ program that uses map STL to store students' student numbers and names. For more information, please follow other related articles on the PHP Chinese website!