STL 4

STL 벡터와 리스트의 차이는 무엇인가?

STL 벡터와 리스트의 차이는 무엇인가? STL 벡터와 리스트는 순차 컨테이너에 속하며 요소들의 보관순서를 유지할 수 있는 특징을 가지고 있다. 벡터 (Vector) https://doanhan.tistory.com/26?category=581362 [C++] 순차 컨테이너와 벡터 [C++] 순차 컨테이너와 벡터 순차 컨테이너 (Sequence Container) 요소들의 보관 순서를 유지할 수 있도록 해주며 어떤 위치든 삽입, 제거가 가능하지만 성능에 있어서는 각각 다른 특성들을 가진다. doanhan.tistory.com 벡터는 배열(Array)처럼 개체들을 연속적인 메모리 공간에 저장한다. 즉, 반복자 외에도 인덱스를 통해서 개체들에 접근할 수 있다. 리스트 (List) https://doanhan..

[C++] 데큐와 리스트

[C++] 데큐와 리스트 순차 컨테이너와 그 컨테이너의 속한 벡터를 알아보았었다. 이번에는 순차 컨테이너에 속하는 데큐와 리스트를 알아볼 것이다. 벡터와 비교해서 어느부분이 차이가 있고 어떠한 이점을 가지고 있는지 살펴보자! 데큐 (Deque, Double Ended Queue) #include //... deque dq; 모든 면에서 벡터와 유사하지만 작업 위치에 따른 실행 비용에서 차이가 있다. 벡터처럼 모든 요소들을 큰 메모리 블럭에 저장하지만 요소들을 여러개의 메모리블로으로 이용한다. ▹ 마지막에 추가/제거하는 작업의 속도는 빠른 속도(O(1))이지만 중간에 요소를 추가/제거하는 속도는 비교적 느린속도(O(N))이다. ▹ 큐와 같이 FIFO(First In First Out)의 데이터 구조를 구현..

[C++] 순차 컨테이너와 벡터

[C++] 순차 컨테이너와 벡터 순차 컨테이너 (Sequence Container) 요소들의 보관 순서를 유지할 수 있도록 해주며 어떤 위치든 삽입, 제거가 가능하지만 성능에 있어서는 각각 다른 특성들을 가진다. 종류는 벡터, 데큐, 리스트 등이 있다. 벡터 (Vector) #include //... Vector vName; //Ex vector vInt; int a = 5; vInt.push_back(a); ▹ 원하는 위치에 추가/제거 가능하다. ▹ 양방향 반복자를 제공한다. 전/후진으로 요소에 접근 가능하다. ▹ C의 배열과 기능은 비슷하지만 미리 할당할 필요가 없으며, 추가할 수 있는 요소에 제한적이지 않다. ▹ 모든 요소를 하나의 큰 블럭에 보관한다. 생성자와 반복자 //생성자 vector v; ..

[C++] STL

[C++] STL STL (Standard Template Library) 여러가지 다른 구조를 보관하기 위한 컨테이너와 컨테이너 내의 요소를 접근하기 위한 반복자, 그리고 컨테이너에 특정한 작업을 위한 알고리즘 클래스로 구성되어 있다. 컨테이너 순차 컨테이너와 연관 컨테이너로 구성되어 있으며, 여러가지 구조 데이터를 보관하는 객체이다. - 순차 컨테이너 : 요소들을 보관된 순서를 유지할 수 있게 해주며, 어떤 위치든 삽입, 제거가 가능하지만 성능에 있어서는 다른 특성을 가진다. / 벡터, 데큐, 리스트 등 - 연관 컨테이너 : 정렬 연관 컨테이너와 해쉬 연관 컨테이너 두 분류로 존재한다. 특정 요소에 대한 빠른 검색을 제공하며 사용자가 지정한 순서가 아닌 자신의 규칙에 따른 순서로 보관한다. / 세트,..