학생 볼륨의 맵 데이터 구조가 있다고 가정합니다. 볼륨 이름은 정수 데이터이고 이름은 문자열 유형 데이터입니다. 표준 입력에서는 n개의 쿼리를 제공합니다. 각 쿼리(행당)에는 두 개의 요소가 있어야 하며, 유형 1 쿼리의 경우 세 개의 요소가 있어야 합니다. 첫 번째 항목은 연산자이고, 두 번째 항목은 볼륨, 세 번째 항목은 이름이고, 두 요소 쿼리의 경우 두 번째 항목은 볼륨 번호입니다. 방법은 다음과 같습니다.
삽입. 그러면 해당 볼륨의 맵에 이름이 삽입됩니다
삭제. 해당 롤 번호가 있는 경우 지도에서 해당 롤 번호가 제거됩니다.
검색하세요. 그러면 이름에 대한 롤 번호가 있는 지도를 검색하여 이름이 있으면 표시하고, 그렇지 않으면 찾을 수 없습니다.
따라서 입력이 n = 8과 같은 경우 쿼리 = [[1,5,"Atanu"], [1,8,"Tapan"], [1,3,"Manish "],[ 2,8],[1,9,"Piyali"], [3,8],[3,3], [3,5]], 출력은 [찾을 수 없음, 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
위 내용은 맵 STL을 사용하여 학생의 학생 번호와 이름을 저장하는 C++ 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!