使用地图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 found

Manish

Atanu

以上是 使用地图STL存储学生名册和姓名的C++程序 的全部内容, 来源链接: utcz.com/z/331685.html

回到顶部