Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
Tags
- https://ji-han.tistory.com/
- 이리5조
- 태어난김에 보스까지
- https://hjmag1120.tistory.com/
- https://vetenir.tistory.com/
- https://mynameiskgws.tistory.com/
- 스파르타코딩클럽
- https://eo-oe.tistory.com/
Archives
- Today
- Total
info8995 님의 블로그
11일차(컨테이너 벡터) 본문
컨테이너(Container)
- 컨테이너란 데이터를 담는 자료구조입니다.
- 템플릿으로 구현되어 다양한 데이터 타입에 관계없이 사용할 수 있습니다.
- 메모리 관리를 따로 고려하지 않아도 됩니다.
- 모든 컨테이너는 **반복자(Iterator)**를 제공합니다.
- 반복자를 통해 컨테이너 내부의 세부적인 구현사항을 몰라도 동일한 문법으로 접근할 수 있습니다.
벡터(Vector)
- 배열과 매우 유사한 동적 컨테이너입니다.
- 템플릿 클래스라 특정 데이터 타입에 종속되지 않습니다.
- 삽입되는 원소 개수에 따라 내부 배열의 크기가 자동으로 조정됩니다.
- **임의 접근(Random Access)**이 가능합니다.
- 삽입/삭제는 맨 뒤에서 하는 것이 효율적입니다. (배열 구조의 특성상 중간에서 삽입/삭제 시 많은 비용 발생)
주요 메서드
- push_back
- 벡터의 맨 끝에 원소를 추가합니다.
- pop_back
- 벡터의 맨 끝에 있는 원소를 제거합니다.
- size
- 현재 벡터의 크기를 반환합니다.
- erase
- 특정 위치의 원소를 제거합니다. (반복자를 사용해 위치 지정)
맵(Map)
- 키(Key)와 값(Value) 쌍으로 데이터를 저장하는 연관 컨테이너입니다.
- 두 가지 데이터 타입(키와 값)을 선언해야 합니다.
- 키 값을 기준으로 자동 정렬됩니다.
- 중복된 키 값을 허용하지 않습니다.
주요 특징
- 자동 정렬
- 키 값에 따라 데이터가 오름차순으로 정렬됩니다.
- 삽입 방법
- insert와 make_pair를 사용하여 키-값 쌍을 추가합니다.
- 검색
- find 메서드를 통해 특정 키 값의 존재 여부를 확인할 수 있습니다.
- 전체 삭제
- clear 메서드를 사용하여 맵에 있는 모든 원소를 삭제합니다.
STL 알고리즘
STL은 다양한 알고리즘을 통해 컨테이너에서 자주 사용하는 작업들을 제공합니다.
- 정렬: sort를 사용해 컨테이너 원소를 오름차순으로 정렬합니다.
- 검색: find를 사용해 특정 원소를 검색합니다.
- **반복자(Iterator)**를 활용하여 내부 구현을 알 필요 없이 동일한 문법으로 작업할 수 있습니다.
추가 참고 사항
- STL은 반복자, 알고리즘, 컨테이너의 조합으로 매우 강력하며 유연하게 데이터 구조와 작업을 처리할 수 있습니다.
- 벡터는 데이터의 동적 크기 관리와 빠른 임의 접근이 필요한 경우 적합합니다.
- 맵은 키-값 기반의 데이터 관리 및 정렬이 필요할 때 유용합니다.
'TIL(Today I Learned) > C++' 카테고리의 다른 글
| 14일차(디자인패턴-싱글톤4일차(디자인패턴-싱글톤) (0) | 2025.01.06 |
|---|---|
| 12일차(간단한 도서관시스템) (0) | 2025.01.02 |
| 10일차(오버로딩, 오버라이딩) (0) | 2024.12.30 |
| 9일차(메모리 정리,스택과 힙) (2) | 2024.12.27 |
| 7일차(class) (0) | 2024.12.24 |