지나공 : 지식을 나누는 공간

STL 정리 - 개념과 컨테이너 종류 본문

Algorithm/C++ 노트

STL 정리 - 개념과 컨테이너 종류

해리리_ 2020. 7. 7. 18:32

STL(Standard Template Libarary)이란?

컨테이너(자료구조) 클래스, 반복자, 알고리즘 간 협력에 기반한 템플릿 라이브러리

 

 

STL 컨테이너의 종류

 

- 순차 컨테이너

  • array : 배열
  • vector : 동적 배열
  • deque : 양방향 큐
  • forward_list : 단뱡향 리스트
  • list : 양방향 리스트

- 연관 컨테이너 ( 정렬된)

  • set : 정렬된 중복 없는 key의 집합 / 중위순회 형식으로 자동정렬됨
  • map : 정렬된 중복 없는 key-value의 집합 / key를 타겟으로 오름차순 자동정렬됨
  • multiset : 정렬된 중복 허용 key의 집합
  • multimap : 정렬된 중복 허용 key-value의 집합

- 비정렬 연관 컨테이너 (정렬 안 된 - 넣은 순서대로 저장됨)

  • unordered_set : 중복 없는 key의 해시
  • unordered_map : 중복 없는 key-value의 해시
  • unordered_multiset : 중복 허용 key의 해시
  • unordered_multimap : 중복 허용 key-value의 해시

- 그 밖의 컨테이너

  • stack : 스택
  • queue : 큐
  • priority_queue : 우선순위큐

컨테이너 관련 포스팅

 

[multimap, unordered_map, hash_map 특징 비교]

https://eocoding.tistory.com/6

 

hash_map, unordered_map, map 비교, 특징 정리 - C++

hash_와 unordered_에 대하여 hash라는 말이 붙지 않은 map,set은 자료를 정렬해서 저장합니다. (key를 기준으로 오름차순 정렬) 따라서 순회할 때도 저장된 데이터를 넣은 순서대로가 아닌 자동정렬된 ��

eocoding.tistory.com

 

[벡터의 중간요소 삭제하기]

https://eocoding.tistory.com/3

 

C++ - 벡터의 i번째 요소(중간요소) '실수 없이' 삭제하기

나무 재테크 문제에서 제가 푼 방식처럼, 벡터의 중간 원소를 삭제하되, 빠짐 없이 모든 요소를 체크해야 할 때가 있습니다. 그럴 때 잊지 말아야 하는 것이 인덱스 값의 변경입니다. vector v; v.pu

eocoding.tistory.com

 

728x90
Comments