使用地图STL存储学生名册和姓名的C++程序
假设我们有一个学生卷的映射数据结构,名称卷是一个整数数据,名称是字符串类型的数据。在我们的标准输入中,我们提供了 n 个查询。在每个查询中(在每一行中)必须有两个元素,对于类型 1 查询有三个元素。第一个是操作符,第二个是卷,第三个是名称,对于两个元素查询第二项是卷号。操作如下 -
插入。这将在相应的滚动位置将名称插入到映射中
删除。这将从映射中删除反对卷号(如果存在)。
搜索。这将使用卷号将名称搜索到映射中,如果存在则显示名称,否则显示未找到。
所以,如果输入像 n = 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] 因为不存在 roll 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 foundManish
Atanu
以上是 使用地图STL存储学生名册和姓名的C++程序 的全部内容, 来源链接: utcz.com/z/331685.html