Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình C++ lưu số báo danh và tên sinh viên dùng map STL

Giả sử chúng ta có map lưu số báo danh (int) và tên (string). Nhập n truy vấn. Mỗi truy vấn: 2 hoặc 3 phần tử. Loại 1: chèn (1, roll, name). Loại 2: xóa (2, roll). Loại 3: tìm kiếm (3, roll) - in tên hoặc "Not found".

Ví dụ: n=8, queries=[[1,5,"Atanu"],[1,8,"Tapan"],[1,3,"Manish"],[2,8],[1,9,"Piyali"],[3,8],[3,3],[3,5]] → [Not found, Manish, Atanu]

Giải thuật

  • Đọc n
  • map m
  • While n--:
    • Đọc t, roll
    • Nếu t==1: đọc name, m[roll]=name
    • Nếu t==2: m[roll]=""
    • Nếu t==3: nếu m[roll]!="" in tên, ngược lại "Not found"

Ví dụ minh họa

#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; 
        } 
    } 
} 

Đầu vào

8 1 5 Atanu 1 8 Tapan 1 3 Manish 2 8 1 9 Piyali 3 8 3 3 3 5

Đầu ra

Not found Manish Atanu