C 언어
C++에서 MAP 매핑된 형식으로 항목을 저장하는 연관 컨테이너입니다. 맵의 각 항목은 키-값과 매핑된 값으로 구성됩니다. 매핑된 두 값은 동일한 키 값을 공유할 수 없습니다.
키 값은 요소를 고유하게 정렬하고 식별하는 데 유용합니다. 매핑된 값은 키와 연결된 콘텐츠를 저장하기 위한 것입니다. 두 가지 유형은 다를 수 있지만 멤버 유형은 두 가지를 결합한 pair 유형을 통해 결합합니다.
이 C++ 자습서에서는 다음을 배우게 됩니다.
지도를 사용하는 이유는 다음과 같습니다.
std::map을 선언하려면 다음 구문을 사용하십시오.
std::map<key_datatype, value_datatype>map_name;
예:
map<string, int> my_map;
my_map이라는 맵을 선언했습니다. 지도에는 key라는 문자열이 있습니다. 값으로서의 데이터 유형 및 정수 데이터 유형.
멤버 함수는 다음 멤버 유형을 매개변수 또는 반환 유형으로 사용할 수 있습니다.
std::map은 내장 함수와 함께 제공됩니다. 그 중 일부는 다음과 같습니다.
맵 요소를 반복할 수 있습니다. 반복자를 만들고 이를 사용하기만 하면 됩니다.
예:
#include <iostream> #include <string> #include <map> using namespace std; int main() { map<int, string> Students; Students.insert(std::pair<int, string>(200, "Alice")); Students.insert(std::pair<int, string>(201, "John")); cout << "Map size is: " << Students.size() << endl; cout << endl << "Default map Order is: " << endl; for (map<int, string>::iterator it = Students.begin(); it != Students.end(); ++it) { cout << (*it).first << ": " << (*it).second << endl; } }
출력:
다음은 코드의 스크린샷입니다.
코드 설명:
insert() 함수를 사용하여 std::map에 항목을 입력할 수 있습니다. std::map 키는 고유해야 합니다.
따라서 먼저 각 키가 맵에 있는지 여부를 확인합니다. 존재하는 경우 항목이 삽입되지 않지만 기존 항목에 대한 반복자를 반환합니다. 없는 경우 항목이 삽입됩니다.
함수에는 다음과 같은 변형이 있습니다.
insert_or_assing() 함수는 insert() 함수와 같은 방식으로 작동하지만, 주어진 키가 이미 맵에 있으면 그 값이 수정됩니다.
#include <map> #include <iostream> using namespace std; int main() { map<int, int> m{ {1,3} , {2,4} , {3,5} }; m.insert({ 5, 6 }); m.insert({ 1, 8 }); m.insert_or_assign(1, 6); cout << "Key\tElement\n"; for (auto itr = m.begin(); itr != m.end(); ++itr) { cout << itr->first << '\t' << itr->second << '\n'; } return 0; }
출력:
다음은 코드의 스크린샷입니다.
코드 설명:
find() 함수를 사용하여 키로 맵의 요소를 검색할 수 있습니다. 키를 찾을 수 없으면 함수는 std::map::end를 반환합니다. 그렇지 않으면 검색된 요소의 반복자가 반환됩니다.
#include <iostream> #include <string> #include <map> using namespace std; int main() { map<int, string> Students; Students.insert(std::pair<int, string>(200, "Alice")); Students.insert(std::pair<int, string>(201, "John")); std::map<int, string>::iterator it = Students.find(201); if (it != Students.end()) { std::cout << endl << "Key 201 has the value: => "<< Students.find(201)->second << '\n'; } }
출력:
다음은 코드의 스크린샷입니다.
코드 설명:
지우기() 함수를 사용하여 맵에서 값을 삭제할 수 있습니다. 삭제할 요소를 가리키는 반복자를 만들기만 하면 됩니다. 그런 다음 iterator는 erase() 함수로 전달됩니다.
#include <iostream> #include <string> #include <map> using namespace std; int main() { map<std::string, int> my_map; my_map.insert(std::make_pair("cow", 1)); my_map.insert(std::make_pair("cat", 2)); my_map["lion"] = 3; map<std::string, int>::iterator it = my_map.find("cat"); my_map.erase(it); for (map<string, int>::iterator it = my_map.begin(); it != my_map.end(); ++it) cout << (*it).first << ": " << (*it).second << endl; return 0; }
출력:
다음은 코드의 스크린샷입니다.
코드 설명:
C 언어
C에서 malloc이란 무엇입니까? malloc() 함수는 메모리 할당을 나타냅니다. 메모리 블록을 동적으로 할당하는 데 사용되는 함수입니다. 지정된 크기의 메모리 공간을 예약하고 메모리 위치를 가리키는 널 포인터를 반환합니다. 반환된 포인터는 일반적으로 void 유형입니다. 그것은 우리가 모든 포인터에 malloc 함수를 할당할 수 있다는 것을 의미합니다. 구문 ptr = (cast_type *) malloc (byte_size); 여기, ptr은 cast_type의 포인터입니다. malloc 함수는 할당된 byte_s
자바에서 해시맵이란 무엇입니까? HashMap은 기본적으로 고유 키를 지정합니다. 해당 값에 특정 시점에서 검색할 수 있습니다. 자바 해시맵의 기능 a) 가치 키-값을 형성하여 지도에 저장할 수 있습니다. 쌍. 키를 올바른 메서드에 전달하여 값을 검색할 수 있습니다. b) 요소가 없는 경우 지도에 존재하는 경우 NoSuchElementException이 발생합니다. . c) HashMap은 객체만 저장합니다. 참조 . 그렇기 때문에 기본 데이터 유형을 사용할 수 없습니다. double 또는 int처럼. 대신 래퍼 클래스