목록C++/문법 및 메소드(STL) (35)
나만의 작은 도서관

시퀀스 컨테이너란?시퀀스 컨테이너(Sequence Container)는 C++에서 제공하는 STL 컨테이너 종류(시퀀스 컨테이너, 연관 컨테이너, 컨테이너 어뎁터) 중 하나로, 원소들을 순차적으로 저장하는 컨테이너이다. 시퀀스 컨테이너의 종류벡터(vector)리스트(list, forward_list)데크(deque)배열(array) - [현재 글]배열(Array)이란?array는 C++ 스타일의 정적 배열로, 내부적으로 정적 배열(T[N])을 감싸고 있는 형태이다.array는 STL Container이므로, 기존의 C 배열과 같은 형태를 유지하면서(오버헤드 없음), C++에 추가된 반복자나 대입 연산자 등을 사용할 수 있다.정적 배열이므로 원소 삽입 / 삭제가 불가하며, 오로지 접근만 가능하다."임의의..

시퀀스 컨테이너란?시퀀스 컨테이너(Sequence Container)는 C++에서 제공하는 STL 컨테이너 종류(시퀀스 컨테이너, 연관 컨테이너, 컨테이너 어뎁터) 중 하나로, 원소들을 순차적으로 저장하는 컨테이너이다. 시퀀스 컨테이너의 종류벡터(vector)리스트(list, forward_list)데크(deque) - [현재 글] 배열(array)데크(deque, double ended queue)란?데크(deque)는 일정 크기의 작은 메모리 블록들을 가리키는 포인터 벡터와 같은 자료구조이다.동과 호수로 구분된 아파트 모양과 비슷하다.임의의 위치에 대한 데이터 접근이 빠르다. ( 시간복잡도 O(1) )“맨 앞, 맨 뒤”에 원소를 삽입 / 삭제하는 작업이 빠르다. ( 시간복잡도 O(1) )“임의의 위치..

시퀀스 컨테이너란?시퀀스 컨테이너(Sequence Container)는 C++에서 제공하는 STL 컨테이너 종류(시퀀스 컨테이너, 연관 컨테이너, 컨테이너 어뎁터) 중 하나로, 원소들을 순차적으로 저장하는 컨테이너이다. 시퀀스 컨테이너의 종류벡터(vector) 리스트(list, forward_list) - [현재 글]데크(deque)배열(array)리스트(List)란?리스트는 이중 연결 리스트(double linked list) 방식으로 구현된 자료구조로, 양방향 연결 구조를 가진다.forward-list는 단일 연결 리스트 방식으로 구현된 자료구조.임의의 위치에 대한 데이터 접근이 느리다. (시간복잡도 O(N))원소를 삽입 / 삭제하는 작업이 빠르다. (시간복잡도 O(1))삽입 / 삭제 위치 앞, 뒤 ..

시퀀스 컨테이너란?시퀀스 컨테이너(Sequence Container)는 C++에서 제공하는 STL 컨테이너 종류(시퀀스 컨테이너, 연관 컨테이너, 컨테이너 어뎁터) 중 하나로, 원소들을 순차적으로 저장하는 컨테이너이다. 시퀀스 컨테이너의 종류벡터(vector) - [현재 글]리스트(list, forward_list)데크(deque)배열(array)벡터(vector)란?벡터는 C++ 스타일의 동적 할당하는 가변 길이 배열이다.임의의 위치에 대한 데이터 접근이 빠르다. (시간복잡도 O(1))“맨 끝”에 원소를 삽입 / 삭제하는 작업이 빠르다. (시간복잡도 amortized O(1))“임의의 위치”에 원소를 삽입 / 삭제하는 작업이 상대적으로 느리다. (시간복잡도 O(N))삽입 / 삭제 시 해당 원소 뒤에 있..

컨테이너란(Container)?STL의 구성 요소(반복자, 컨테이너, 알고리즘) 중 하나.STL은 Standard Template Library의 약자로, C++에서 템플릿을 이용해 정리해 둔 표준 라이브러리를 말한다.컨테이너는 같은 타입의 데이터를 저장하는 자료구조 클래스이다.STL에서 제공하는 컨테이너는 클래스 템플릿(class template)의 형태로 구현되어 있기 때문에 임의의 타입을 가진 객체(원소)들을 저장할 수 있다.컨테이너 원소에 접근하는 법컨테이너는 자신이 보관하는 원소(elememt)들의 메모리를 관리하며, 각각의 원소에 접근할 수 있도록 멤버 함수를 제공한다.컨테이너 상에서 원소에 접근하는 방법으론 크게 2가지로,하나는 멤버 함수를 직접 호출하여 접근하는 것이고,다른 하나는 반복자(..

반복자(Iterator)란?STL의 구성 요소(반복자, 컨테이너, 알고리즘) 중 하나.STL은 Standard Template Library의 약자로, C++에서 템플릿을 이용해 정리해 둔 표준 라이브러리를 말한다.반복자는 원소에 접근할 수 있도록 컨테이너가 내부적으로 들고 있는 포인터 역할을 하는 “객체”이다 (포인터가 아니다)반복자는 포인터처럼 작동되도록 역참조(*)나 증감 연산자(it++, ++it)와 같은 연산자들이 오버로딩 되어있다.그냥 포인터랑 정확히 똑같이 작동한다고 생각하면 된다.iterator기본 반복자 타입. begin(), end() 함수가 iterator를 반환한다.begin()는 첫번째 원소를 가리키는 반복자를, end()는 마지막 원소 뒤를 가리키는 반복자를 반환한다.begin(..