学生ボリュームのマップ データ構造があるとします。ボリューム名は整数データ、名前は文字列型データです。標準入力では、n 個のクエリを提供します。各クエリ (行ごと) には 2 つの要素が必要で、タイプ 1 クエリの場合は 3 つの要素が必要です。最初の項目は演算子、2 番目はボリューム、3 番目は名前です。2 要素のクエリの場合、2 番目はボリューム番号です。操作は次のとおりです -
挿入。これにより、削除された対応するボリューム
のマップに名前が挿入されます。これにより、対応するロール番号が存在する場合はマップから削除されます。 ############検索。これにより、名前のロール番号を使用してマップが検索され、名前が存在する場合はその名前が表示され、存在しない場合は表示されません。
したがって、入力が n = 8 のような場合、クエリ = [[1,5,"Atanu"], [1,8,"Tapan"], [ 1 ,3,"Manish"],[2,8],[1,9,"Piyali"], [3,8],[3,3], [3,5]] の場合、出力は [見つかりません] になります。 、マニッシュ、アタヌ] ロール 8 が存在せず、ロール 3 の生徒の名前がマニッシュ、ロール 5 の生徒の名前が「アタヌ」であるためです。
#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
以上がマップ STL を使用して生徒の生徒番号と名前を保存する C++ プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。