C++ STL 6

[C++ STL 시리즈] 6편: unordered_set과 unordered_map 사용법

C++ STL 시리즈 6편: unordered_set과 unordered_map 사용법지난 글에서는 set과 map을 살펴보았습니다. 이번 글에서는 STL의 unordered_set과 unordered_map 컨테이너를 다루겠습니다.이 컨테이너들은 해시(Hash) 기반 자료구조를 사용하여, set과 map보다 검색, 삽입, 삭제 속도가 빠릅니다.특히 데이터 순서가 중요하지 않을 때 효율적입니다.1. unordered_set이란?unordered_set은 중복 없는 원소 집합 을 저장하며, 요소는 정렬되지 않고 해시 테이블에 저장됩니다.따라서 삽입, 삭제, 검색 모두 평균적으로 O(1) 시간에 수행됩니다.순서가 중요하지 않고 빠른 조회가 필요한 경우에 유용합니다. unordered_set 선언과 초기화#i..

c++ 2025.09.20

[C++ STL 시리즈] 5편: set과 map 사용법

C++ STL 시리즈 5편: set과 map 사용법지난 글에서는 STL의 stack과 queue를 살펴보았습니다.이번 글에서는 C++ STL에서 제공하는 **set과 map** 컨테이너를 다루겠습니다.두 컨테이너는 모두 데이터를 **자동 정렬**하며, 중복을 관리할 수 있어 효율적인 데이터 검색과 저장이 가능합니다. 1. set이란?set은 **중복 없는 원소의 집합**을 표현하는 컨테이너입니다.요소는 항상 정렬되어 저장되며, 삽입, 삭제, 검색이 효율적입니다.set은 내부적으로 **이진 검색 트리(Binary Search Tree)**를 사용하기 때문에 O(log n) 시간에 연산이 가능합니다. set 선언과 초기화#include #include using namespace std;int main() ..

c++ 2025.09.20

[C++ STL 시리즈] 4편: stack과 queue 사용법

C++ STL 시리즈 4편: stack과 queue 사용법지난 글에서는 STL의 deque 컨테이너 사용법을 살펴보았습니다.이번 글에서는 STL에서 제공하는 **stack과 queue** 컨테이너를 정리하겠습니다.두 컨테이너 모두 FIFO(First In First Out) 또는 LIFO(Last In First Out) 구조를 구현할 수 있는 자료구조로,자료를 순차적으로 처리할 때 유용합니다. 1. stack이란?stack은 **LIFO(Last In First Out)** 구조입니다.즉, 가장 나중에 추가한 요소가 가장 먼저 삭제됩니다.스택은 프로그램의 함수 호출, 되돌리기(undo) 기능 등에서 사용됩니다. stack 선언과 초기화#include #include using namespace std;..

c++ 2025.09.20

[C++ STL 시리즈] 3편: deque 사용

C++ STL 시리즈 3편: deque 사용법지난 글에서는 STL의 list 컨테이너를 살펴보았습니다.이번 글에서는 STL의 deque(Double Ended Queue) 컨테이너를 다뤄보겠습니다.deque는 vector와 list의 장점을 결합한 자료구조로, 양쪽 끝에서 삽입과 삭제가 모두 빠릅니다. 1. deque란?deque는 양쪽 끝에서 요소를 삽입(push)하거나 삭제(pop)할 수 있는 컨테이너입니다.vector처럼 임의 접근이 가능하며, list처럼 앞뒤 삽입과 삭제가 효율적입니다.따라서 큐(Queue)나 스택(Stack)을 구현할 때 매우 유용합니다. deque 선언과 초기화#include #include using namespace std;int main() { deque dq; ..

c++ 2025.09.20

[C++ STL 시리즈] 2편: list 사용법

C++ STL 시리즈 2편: list 사용법지난 글에서는 STL의 기본 개념과 vector 사용법을 다뤘습니다.이번 글에서는 **STL의 list 컨테이너**를 자세히 살펴보겠습니다.list는 **이중 연결 리스트(Doubly Linked List)** 구조로, 삽입과 삭제가 빈번한 상황에서 vector보다 효율적입니다. 1. list란?list는 STL 컨테이너 중 하나로, 메모리 상에서 요소가 연결 리스트 형태로 저장됩니다.vector와 달리 **임의 접근(Random Access)은 불가능**하지만,삽입과 삭제가 리스트 내 어느 위치에서든 O(1) 시간에 수행될 수 있습니다. list 선언과 초기화#include #include using namespace std;int main() { lis..

c++ 2025.09.19

[C++ STL 시리즈] 1편: STL 개요 및 vector 사용법

C++ STL 시리즈 1편: STL 개요와 vector 사용법 C++ 프로그래밍을 하다 보면 자료구조와 알고리즘을 직접 구현해야 하는 경우가 많습니다.하지만 C++에서는 이미 구현된 표준 라이브러리인 STL(Standard Template Library)을 제공합니다.STL은 효율적이고 안정적인 자료구조와 알고리즘을 제공하여, 개발자가 직접 구현하지 않고도 쉽게 사용할 수 있게 도와줍니다. 1. STL의 구성 요소STL은 크게 컨테이너(Containers), 알고리즘(Algorithms), 반복자(Iterators)로 구성됩니다.컨테이너(Containers): 데이터를 저장하고 관리하는 자료구조입니다. 예: vector, list, deque, set, map알고리즘(Algorithms): 컨테이너에 적..

c++ 2025.09.19