💡 퀵 접속: cpp.kr/vector

vector

C++ 표준 라이브러리의 동적 배열 컨테이너로, 크기가 자동으로 조절되는 배열을 제공합니다.

기본 사용법

#include <iostream>
#include <vector>

int main() {
    // 벡터 생성
    std::vector<int> numbers = {1, 2, 3, 4, 5};
    
    // 요소 추가
    numbers.push_back(6);
    
    // 요소 접근
    std::cout << "첫 번째 요소: " << numbers[0] << std::endl;
    std::cout << "마지막 요소: " << numbers.back() << std::endl;
    
    // 크기
    std::cout << "벡터 크기: " << numbers.size() << std::endl;
    
    return 0;
}

실행 결과:

첫 번째 요소: 1
마지막 요소: 6
벡터 크기: 6

반복자 사용

#include <iostream>
#include <vector>

int main() {
    std::vector<int> numbers = {1, 2, 3, 4, 5};
    
    // 반복자로 순회
    std::cout << "벡터 요소들: ";
    for (auto it = numbers.begin(); it != numbers.end(); ++it) {
        std::cout << *it << " ";
    }
    std::cout << std::endl;
    
    // 범위 기반 for문
    std::cout << "범위 기반 for문: ";
    for (const auto& num : numbers) {
        std::cout << num << " ";
    }
    std::cout << std::endl;
    
    return 0;
}

실행 결과:

벡터 요소들: 1 2 3 4 5
범위 기반 for문: 1 2 3 4 5

벡터 조작

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> numbers = {5, 2, 8, 1, 9};
    
    // 정렬
    std::sort(numbers.begin(), numbers.end());
    
    // 요소 삽입
    numbers.insert(numbers.begin() + 2, 4);
    
    // 요소 삭제
    numbers.erase(numbers.begin() + 1);
    
    // 벡터 출력
    std::cout << "조작 후 벡터: ";
    for (const auto& num : numbers) {
        std::cout << num << " ";
    }
    std::cout << std::endl;
    
    return 0;
}

실행 결과:

조작 후 벡터: 1 4 5 8 9

참고사항

  • vector는 std 네임스페이스에 정의되어 있습니다.
  • 벡터의 크기는 size()로 얻을 수 있습니다.
  • 벡터가 비어있는지 확인하려면 empty()를 사용합니다.
  • 벡터의 용량은 capacity()로 확인할 수 있습니다.
  • reserve()를 사용하여 미리 메모리를 할당할 수 있습니다.
메서드 설명
push_back() 요소 추가
pop_back() 마지막 요소 제거
insert() 요소 삽입
erase() 요소 삭제
clear() 모든 요소 삭제
resize() 크기 변경
reserve() 용량 예약
begin() 시작 반복자
end() 끝 반복자