00. vector 헤더
#include <vector>
01. vector 생성자
호출 형태 |
설명 |
vector<int> vec;
|
빈 벡터 생성
|
vector<int> vec(n);
|
기본값(0)으로 초기화된 n개의 원소를 할당
|
vector<int> vec(n,x);
|
x값으로초기화된 n개의 원소를 할당
|
vector<int> vec2(vec);
|
vec의 복사본을 만들어, vec2를 생성
|
vector<int> vec(b,e);
|
반복자구간 [b,e) 초기화한 후 생성 |
02. 멤버 함수
|
|
vec.assign(n,x) vec.assign(b,e)
|
vec에 x 값으로 n개의 원소를 할당 vec를 반복자 구간 [b,e)로 할당 |
|
vec의 i번째 원소를 참조 |
|
vec의 첫 번째 원소 / 마지막 원소 값 참조 |
vec.begin() / vec.end()
|
vec의 맨앞 원소의 / vec의 맨뒤 원소의 반복자 참조 |
|
vec에 할당된 공간의 크기 반환 |
|
vec의 모든 원소를 제거 |
vec.empty()
|
vec이 비었는지 True, False로 반환 |
q=vec.erase(p) q=vec.erase(b,e)
|
p가 가리키는 / [b,e) 구간 원소 제거 q는 다음 원소 |
|
p가 가리키는 위치에 x 값을 삽입 q는 삽입한 원소의 위치를 가리키는 반복자
|
|
n개의 x 값을 삽입 반복자 구간 [b,e)의 원소를 삽입 |
|
vec이 담을 수 있는 최대 원소의 개수(메모리의 크기) |
|
vec의 끝에 x를 추가 / 제거 |
|
n개의 원소를 저장할 공간을 예약 |
vec.resize(n) vec.resize(n,x)
|
vec의 크기를 n으로 변경하고, 나머지 공간의 값을 x로 채움 |
vec.size()
|
vec의 원소 갯수를 반환 |
|
vec이랑 vec2를 swap (교환) |
03. 그 밖에 참고하면 좋을 사항
3-1 배열로 벡터 할당
- 호출 형태 : vector이름
.assign( 배열이름
, 배열이름
+배열크기
);
vector<int> vec;
int myints[] = {1776, 7, 4};
vec.assign(myints, myints + 3);
3-2 두가지 원소 이상 묶을 때 : Pair
#include <vector>
#include <utility>
// <utility> : pair 컨테이너 사용을 위한 헤더파일
vector<pair<int,int>> pv;
pv.push_back(make_pair(1,2));
pair 컨테이너는 사용시 utility 헤더를 선언해야합니다.
또한, pair로 선언한 벡터의 경우 값 추가 시 make_pair(a,b)의 형태로 값을 넣어줘야 합니다.
3-3 함수에 파라미터로 호출 시, 본 vector 값에도 변화를 주는 법
void func(vector<int>& vec)
{
//함수내용
}
&연산자로 메모리를 참조 해줘야, 본 vector 에도 적용됩니다.
다음 시간에는 벡터 컨테이너 사용 시 유용한 함수들에 대한 내용으로 돌아오겠습니다ㅎㅎ
엇 이거 어떻게 하더라?'0' 했던 것들 싹싹 모아올 예정입니다:P
이 게시물이 조금이라도 도움되었다면 공감❤️ 부탁드립니다!
이상 깨륵이었습니다 🐸
참조링크
가감없는 피드백 언제나 환영합니다 '▽' /
도움이 되셨다면 댓글과 공감 부탁드려요! ❤️💜
'Programming > C++' 카테고리의 다른 글
[C++ STL : vector] 벡터 중복원소 제거 (0) | 2020.11.22 |
---|---|
[C++ STL : vector] 벡터 정렬(vector sorting) - 오름차순, 내림차순, 사용자 지정 정렬 (0) | 2020.11.19 |