티스토리 뷰

Algorithm/C++ STL

[C++] [STL] 5. map

쟌쥰 2019. 11. 29. 19:06

map 주요 함수

<기본형태>

  • map<key,value> : key와 value를 pair형태로 선언

<iterator = 반복자> 

  • begin() : beginning iterator 반환
  • end() : end iterator 반환

<추가 및 삭제>

  • insert(make_pair(key,value)): 맵에 원소를 pair형태로 추가 
  • erase(key) : 맵에서 key(키값)에 해당하는 원소 삭제

<조회>

  • find(key) : key(키값)에 해당하는 iterator를 반환 
  • count(key) : key(키값)에 해당하는 원소들(value들)의 개수를 반환

<기타>

  • empty() : 리스트가 비어있음 true 아님 false반환 
  • size() : 리스트 원소들의 갯수를 반환

 

예제 코드

#include<map>

int main(void) {
	//map
	//<string, int> ---> <key, value>
	map<string, int> m;

	//insert(key,value)
	m.insert(make_pair("a", 1));
	m.insert(make_pair("b", 2));
	m.insert(make_pair("c", 3));
	m.insert(make_pair("d", 4));
	m.insert(make_pair("e", 5));
	m["f"] = 6; //이렇게도 가능

	//erase(key)
	m.erase("d");
	m.erase("e");
	m.erase(m.find("f")); //이렇게도 가능

	//empty(), size();
	if (!m.empty())
		cout << "m size : " << m.size() << endl;

	//find(key)
	cout << "a : " << m.find("a")->second << endl;
	cout << "b : " << m.find("b")->second << endl;

	//cout(key)
	cout << "a count : " << m.count("a") << endl;
	cout << "b count : " << m.count("b") << endl;

	//begin(), end()
	cout << "traverse" << endl;
	for (auto i = m.begin(); i != m.end(); i++) //map<string,int>::iterator i;	//이것도 가능
	{
		cout << "key : " << i->first << " " << "value : " << i->second << endl;
	}
}

'Algorithm > C++ STL' 카테고리의 다른 글

[C++] [STL] 7. set  (0) 2019.11.29
[C++] [STL] 6. hash_map  (0) 2019.11.29
[C++] [STL] 4. list  (0) 2019.11.29
[C++] [STL] 3. vector  (0) 2019.11.29
[C++] [STL] 2. queue  (0) 2019.11.29
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함