728x90
벡터(Vector)란?
- 벡터는 동적 배열 구조를 C++로 구현한 것이다.
- 이것은 C의 배열처럼 행동하지만 자동으로 배열의 크기 조절과 객체의 추가와 삭제가 가능하다.
- 벡터는 C++ 표준 템플릿 라이브러리 중의 하나인 템플릿 클래스이다.
- 어떤 타입이라도 저장할 수 있지만, 한 번에 한 타입만 저장이 가능하다
벡터 헤더
- #include <vector>
벡터 선언방법
- vector<자료형> 변수명
벡터의 멤버 함수
- v.front() : v의 첫 번째 원소
- v.back() : v의 마지막 원소
- v.assign(n,x) : n개의 원소에 x값을 할당
- v.at(index) : v의 index번째의 원소
- v[index] : v의 index번째의 원소 (배열처럼 사용)
- v.push_back(x) : 마지막 원소에 x값 삽입
- v.emplace_back(x) : (push_back과 동일한 작업)
※ 요약
C++11부터 추가된 멤버 함수로써 push_back과 같이 vector의 요소 끝에 원소를 추가하는 함수
push_back과 같은 삽입 함수들은 삽입할 객체를 받지만 emplace_back과 같은 생성 삽입 함수는 삽입할 객체의 생성자를 위한 인자들을 받아 std::vector 내에서 직접 객체를 생성하여 삽입하므로 임시 객체의 생성과 파괴, 복사(혹은 move)를 하지 않아도 되어 성능상 더 유리함
- v.pop_back() : 마지막 원소 제거
- v.begin() : v의 첫 번째 원소를 가리키는 iterator
- v.end() : v의 마지막 원소의 다음을 가리키는 iterator
- v.reserve(n) : n개의 원소들을 동적 할당
- v.resize(n) : v의 크기를 n으로 지정
- v.size() : v의 원소 개수를 리턴
- v.capacity() : v에 할당된 공간의 크기를 리턴
- v1.swap(v2) : v1과 v2의 원소, capacity를 모두 서로 바꿈
- v.insert(n,x) : v의 n번째 위치에 x값을 삽입
- v.erase(iterator) : iterator가 가리키는 v의 원소를 삭제
- v.empty() : v가 비어있으면 1, 비어있지 않으면 0
728x90
반응형
'프로그래밍 > C++' 카테고리의 다른 글
[C++] 소수(Prime Number) 효율적으로 구하기 (0) | 2022.12.09 |
---|---|
[C++] pow, sqrt 함수 정리(제곱, 제곱근, 루트) (0) | 2022.12.09 |
[C++] 유클리드 호제법 (최대공약수, 최소공배수) (0) | 2022.12.09 |
[C++ STL] 문자열 치환 (replace, regex_replace) (0) | 2022.12.08 |
C++ sort 알고리즘 완벽 정리 (예제 첨부) (0) | 2020.11.05 |
댓글