[알고리즘] 3-1 배열, 리스트, 벡터

이현영·2023년 2월 12일

CPP 스터디

목록 보기
1/1

벡터

C++ STL(표준 라이브러리)에 있는 자료구조 컨테이너

1️⃣ 크기가 자동으로 늘어난다
2️⃣ 맨 마지막 위치 이외의 데이터의 삽입, 삭제는 배열과 같은 메커니즘
3️⃣ 인덱스로 각 데이터에 접근 가능

선언

vector<int> A;

// 0이라는 값으로 N개의 원소 할당
vector<int> A(N, 0);

삽입

// push
A.push_back(1);

// 특정 위치 추가
A.insert(A.begin(), 7);
A.insert(A.begin() + 2, 10);

삭제

// pop
A.pop_back()

// 특정 위치 삭제
A.erase(A.begin() + 3);

// 모든 값 삭제
A.clear
// 데이터 개수
A.size()

// 처음, 마지막, 특정 위치 값
A.front()
A.back()
A[3]
A.at(5)

// 데이터의 위치
A.begin()
A.end()

회전

rotate(start, mid, end)
왼쪽으로 2칸씩 회전시키기 위해서는 2번째 인수로 벡터.begin() + 2
오른쪽으로 3칸씩 회전시키기 위해서는 2번째 인수로 벡터.end() - 3

시간복잡도 O(N)
profile
티스토리로 이전했습니다 | https://hamo0.tistory.com/

0개의 댓글