假設我們有一個學生卷的地圖資料結構,卷的名稱是整數數據,名稱是字串類型資料。在我們的標準輸入中,我們提供 n 個查詢。在每個查詢中(每行)必須有兩個元素,對於類型 1 查詢,必須有三個元素。第一項是運算符,第二項是卷,第三項是名稱,對於雙元素查詢,第二項是卷號。操作如下 -
插入。這會將名稱插入到對應卷的地圖中
刪除。這將從地圖上刪除對應的捲號(如果存在)。
搜尋.這將在帶有捲號的地圖中搜尋名稱,如果存在則顯示名稱,否則顯示未找到。
因此,如果輸入類似n = 8,則查詢= [[1,5,"阿塔努"], [1,8,"塔潘"], [ 1,3,"曼尼什"],[2,8],[1,9,"皮亞利"], [3 ,8],[3,3], [3,5]],則輸出將為[Not found, Manish, Atanu],因為卷8 不存在,卷3 的學生姓名為Manish,姓名為卷數為5 的學生是「Atanu」。
為了解決這個問題,我們將按照以下步驟操作-
#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
以上是使用map STL儲存學生的學號和姓名的C++程式的詳細內容。更多資訊請關注PHP中文網其他相關文章!