자료구조는 데이터를 저장하고 조직화하기 위해 사용됩니다. C++에는 다양한 자료구조가 있으며, 각각 데이터를 다루는 방식이 다릅니다.
효율적인 자료구조와 알고리즘의 선택은 프로그램 성능을 크게 향상시킬 수 있습니다.
자료구조 | 설명 |
---|---|
Vector | 배열처럼 요소를 저장하며, 동적으로 크기가 변할 수 있음. 요소 추가/제거는 보통 끝에서 수행되며, 인덱스를 통해 접근 가능. |
List | 순차적으로 요소를 저장하며, 각 요소가 다음 요소와 연결됨. 양쪽 끝에서 요소 추가/제거 가능, 인덱스를 통한 접근 불가. |
Stack | LIFO(Last In, First Out) 구조로, 마지막에 추가된 요소가 가장 먼저 제거됨. 인덱스를 통한 접근 불가. |
Queue | FIFO(First In, First Out) 구조로, 처음에 추가된 요소가 가장 먼저 제거됨. 끝에서 추가되고 앞에서 제거됨. 인덱스를 통한 접근 불가. |
Deque | 양쪽 끝에서 요소를 추가/제거할 수 있는 큐. 인덱스를 통해 접근 가능. |
Set | 고유한 요소만 저장하며, 인덱스를 통한 접근 불가. |
Map | "키/값" 쌍으로 요소를 저장하며, 키를 통해 접근 가능(인덱스를 통한 접근 불가). |