1. vetor란?

 

동적 배열을 제공하는 STL의 컨테이너이다. 동적 크기의 배열처럼 동작하며, 요소를 쉽게 추가, 삭제, 액세스 할 수 있다.

 

2. vector의 특징

 

  • 동적 크기 조정
    • 배열과 달리 vector는 크기가 고정되지 않고 요소를 추가하거나 삭제할 때 자동으로 크기를 조정한다.
  • 템플릿 클래스
    • 특정 데이터 타입을 지원하도록 템플릿으로 작성되었기 때문에 std::vector<int> 또는 std::vector<string> 처럼 다양한 타입의 데이터를 저장할 수 있다.
  • 임의 접근 지원
    • 배열처럼 인덱스를 통해 O(1)의 시간 복잡도로 요소에 접근할 수 있다.
    • ※ O(1)의 시간 복잡도란 알고리즘이나 연산이 입력 크기와 무관하게 항상 일정한 시간이 걸리는 경우
  • 메모리 관리 자동화
    • 메모리 관리를 자동으로 처리하여 메모리 누수를 방지한다.

예시

#include <vector>
#include <iostrem>
using namespace std;

vector<int> numbers; // 정수형 vector 선언

numbers.push_back(10); // 요소 추가
numbers.push_back(20);

// 요소 출력
for(int i = 0; i < numbers.size(); i++) 
{
	cout << numbers[i] << " ";
}

결과값
10 20

 

3. 주요 함수

 

push_back(value) 맨 끝에 요소를 추가
pop_back() 맨 끝 요소를 제거
size() 현재 요소의 개수를 반환
clear() 모든 요소를 제거
empty() 벡터가 비어있는지 확인
at(index) 지정된 인덱스 요소를 반환
operator[] 배열처럼 요소에 접근
begin() / end() 처음과 끝 반복자 반환
erase(iterator) 지정된 위치에 요소를 제거
insert(interator, value) 지정된 위치에 요소를 삽입

+ Recent posts