{Programing}/Data Structure(18)
-
STL - Unordered_map
www.cplusplus.com/reference/unordered_map/unordered_map/ unordered_map - C++ Reference 1234 unordered_map ::iterator it; (*it).first; // the key value (of type Key) (*it).second; // the mapped value (of type T) (*it); // the "element value" (of type pair ) www.cplusplus.com Hash 를 이용한 컨테이너. key, value 쌍의 데이터를 담음. 생성시에 key의 데이터 형식에 따른 해시 함수를 적용할수 있음. 해시함수의 템플릿값은 key의 데이터형식과 같아야함. 또한, 비교함수를 같이 정의해..
2021.04.30 -
STL - set, multiset
www.cplusplus.com/reference/set/ - C++ Reference www.cplusplus.com set 유일한 요소를 저장하는 컨테이너. 각 요소를 키로 사용하면서 값으로도 사용하는 컨테이너로, 각 요소가 중복되지 않게 해야함. 삽입과 동시에 정렬됨. map에 비해 메모리가 절약됨. multiset set과 같으나 중복삽입이 가능함. multimap과 비슷함
2021.04.29 -
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.04.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.04.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.04.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.04.29