본문 바로가기

전체 글140

STL - map, multimap www.cplusplus.com/reference/map/ - C++ Reference www.cplusplus.com map key-value 쌍의 컨테이너. Red-Black tree 로 구현된 컨테이너로 각 요소들은 '중복되지 않는다.' 각 노드는 아래처럼 pair 객체로 key value 순서로 생성후 삽입된다. map m; m.insert(make_pair("a", 1)); []연산자를 이용한 삽입, 수정이 가능하다. 중복되지 않는 특성을 가진 데이터 집합이 있다면 사용하도록 하자. multimap map과 같으나 키가 중복될수 있다. 노드 삽입시 정렬되어 삽입됨. []연산자를 이용한 삽입, 수정 불가. 노드를 키값으로 찾아가면 키에 해당하는 값 전체가 반환되는 식. 같은 키값으로 삽입하면 해당.. 2021. 4. 29.
STL - Stack www.cplusplus.com/reference/stack/stack/ stack - C++ Reference container_typeThe second template parameter (Container)Type of the underlying container www.cplusplus.com 후입선출 선형 컨테이너. 막힌 관에 넣는것처럼 한쪽 입구쪽으로만 삽입하고 삭제할수 있다. 프링글스 통을 생각하면 편하다. 가장 나중에 들어간 프링글스가 가장 먼저 먹힌다. 2021. 4. 29.
STL - queue, Priority_queue, deque www.cplusplus.com/reference/queue/ - C++ Reference www.cplusplus.com 일반 queue 선입선출 선형 컨테이너. 컨테이너에 담긴 순서대로 출력할 수 있다. 단순하게 push pop 연산을 통해 끝에서 넣고 앞에서 빼는 방식을 사용. priority_queue 우선순위 큐라고도 함. 생성시에 우선순위를 판단할 기준을 같이 입력해주면 삽입시에 우선순위를 판단해 처리 가능하게 해줌. 이때 기준은 비교용 구조체를 제작해서 넣어야하며 기본으로 functional 헤더에 greater, less 구조체같은 비교연산자 구조체가 제공된다. 복잡한 객체가 큐에 들어갈예정이라면 비교연산자 구조체를 새로 만드는 것을 추천한다. 이런 형식으로 만들면 됨. deque 일반 q.. 2021. 4. 29.
STL - List www.cplusplus.com/reference/list/list/ list - C++ Reference difference_typea signed integral type, identical to: iterator_traits ::difference_type usually the same as ptrdiff_t www.cplusplus.com 대표적인 선형 자료구조의 컨테이너. STL에서는 더블링크드리스트로 구현되어있으며, 각 데이터는 노드라는 단위로 불린다. 자유로운 노드의 삽입삭제가 가능하며, 리스트의 앞 - 헤드 부분으로 삽입삭제, 리스트의 끝 - 테일 부분으로 삽입삭제 도 가능하다. 2021. 4. 29.