Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ จัดการข้อมูลนักเรียนด้วย Map STL


สมมติว่าเราใช้ map เก็บข้อมูลนักเรียน key คือเลขประจำตัว (int) value คือชื่อ (string) รับ n คิวรี แต่ละคิวรีมี 2-3 ค่า: type 1 = insert (roll, name), type 2 = delete (roll), type 3 = search (roll)

เช่น 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]

ขั้นตอนการแก้ปัญหา

  • n := จำนวนคิวรี
  • map<int, string> m
  • วนลูป n ครั้ง:
    • อ่าน type t และ roll
    • ถ้า t==1: อ่าน name, m[roll] = name
    • ถ้า t==2: m[roll] = "" (ลบ)
    • ถ้า t==3: ถ้า m[roll] != "" พิมพ์ชื่อ ไม่อยู่พิมพ์ "Not found"

ตัวอย่างโค้ด

#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