C++ vector 생성 및 삽입, 삭제
결과1
결과
코드1
vector 생성
- 8라인을 보면 벡터를 생성하면서 초기화 해주고 있다.
v(5, 1) : 5 size 만큼 1로 초기화 해준다.
- 초기값이 없을 경우는 9라인처럼 선언만 해주면 된다.
empty() : 비어있는지 검사한다.
- 비어있으면 true를 아니면 false를 리턴한다.
clear() : vector를 비운다.
push_back() : 맨뒤에 요소 삽입
pop_back() : 맨뒤에 요소 삭제
- vector에서 요소를 삽입, 삭제할 때 주로 사용한다.
- 맨 뒤에 삽입, 삭제를 함으로써, 가장 마지막의 들어온 것이 가장 먼저나가는(후입선출) 구조인 스택처럼 사용할 수도 있다.
front() : 맨 앞의 요소 가져옴
back() : 맨 뒤의 요소 가져옴
vector 요소 중간의 삽입, 삭제, 배열 삽입
결과2
결과2
코드2
insert() : 위치를 지정하여 삽입
- 삽입할 위치는 it로 지정된다. iterator를 따로 선언하지 않고 그냥 v.begin()을 사용하는 것이 덜 헷갈린다.
- 4번을 보면 it+3을 해주 3번째부터 2개의 4를 삽입하는 것을 볼 수 있다.
- 5번을 보면 int형 배열을 삽입해준다. 그 때 insert의 인수로는
insert(vector 삽입할 위치, 배열 삽입 시작위치, 배열 삽입 끝위치) 이다.
5번에서는 배열 arr의 0~4 (4는 포함안됨) 를 삽입해 준것이다.
erase() : 위치를 지정하여 삭제
- insert() 와 마찬가지로 위치를 지정해주면 삭제한다.
- 주의 할점은 범위로서 6번에서
erase(v.begin()+1, v.begin()+4); 를 해줌으로써 vector의 1~3요소가 삭제되었다.
즉, 1 <= 삭제 < 4 로 마지막은 포함되지 않는다.
추가 내용
정렬
링크
[C++/STL] - C++ vector 오름차순, 내림차순 정렬
pair을 사용하여 2개씩 값 저장
링크
[C++/STL] - C++ vector and pair 사용
'C++ > STL' 카테고리의 다른 글
[STL] C++ priority_queue 우선순위 큐 (0) | 2020.04.07 |
---|---|
[STL] C++ queue 생성 및 삽입, 삭제 (0) | 2020.04.07 |
[STL] C++ stack 생성 및 삽입, 삭제 (0) | 2020.03.31 |
C++ pair 사용하여 쌍으로 값저장 (0) | 2020.03.31 |
C++ vector 오름차순, 내림차순 정렬 (0) | 2020.03.30 |