C++ #12 STL 연관 컨테이너

underlier12·2020년 2월 13일
0

C++

목록 보기
12/19

12. STL 연관 컨테이너

STL 연관 컨테이너 종류

  1. STL 연관 컨테이너 라이브러리는 매우 활용도가 높은 자료구조를 제공
  2. 연관 컨테이너는 키와 값 형태의 관련 있는 데이터를 쌍으로 저장함
  3. 가장 많이 사용되는 것은 Set과 Map
  • Set
  • Multi Set
  • Map
  • Multi Map

Set

Set은 데이터를 키로 사용하는 연관 컨테이너이다. 정렬된 위치에서 데이터를 삽입한다는 점에서 검색 속도가 빠르다는 특징이 있다. 키의 중복을 불허한다.

#include<iostream>
#include<set>

using namespace std;

int main(void) {
	int array[5] = { 2, 4, 6, 8, 10 };
	set<int> s(array, array + 5);
	set<int>::iterator iter = s.begin();

	for (; iter != s.end(); iter++) {
		cout << *iter << ' ';
	}
	cout << '\n';

	s.insert(1);
	s.insert(3);
	s.insert(5);
	iter = s.begin();

	for (; iter != s.end(); iter++) {
		cout << *iter << ' ';
	}
	cout << '\n';
	system("pause");
}

Map

Map은 저장하는 데이터를 키와 값 쌍으로 사용하는 연관 컨테이너이다. 정렬된 위치에 데이터를 삽입한다는 점에서 검색 속도가 빠르다는 특징이 있다. 키의 중복을 불허한다.

#include<iostream>
#include<string>
#include<map>

using namespace std;

int main(void) {

	map<string, int> m;
	m["나동빈"] = 1; m["홍길동"] = 2; m["이순신"] = 3;
	map<string, int>::iterator iter = m.begin();
	for (; iter != m.end(); iter++) {
		cout << iter->first << ":" << iter->second << '\n';
	}

	m["이태일"] = 4;
	cout << m["없는사람"] << '\n';
	iter = m.begin();
	for (; iter != m.end(); iter++) {
		cout << iter->first << ":" << iter->second << '\n';
	}
	system("pause");
}
profile
logos and alogos

0개의 댓글