[C++] vector.insert 멤버함수를 이용해 두 벡터 연결하기
- Archive2/C&C++
- 2022. 7. 31.
반응형
[C++] insert member function
*개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다.
_content
#1 insert member function
#2 두 벡터 연결하기
_Related posts
[C++ STL] Vector Container 사용법
_reference
https://cplusplus.com/reference/vector/vector/insert/
#1 insert member function
C++ STL vector는 특정 원소 혹은 특정 범위의 원소들을 벡터의 원하는 위치에 추가할 수 있도록 도와주는 insert 멤버 함수를 제공한다.
iterator insert (const_iterator position, const value_type& val);
position : 원소를 추가 할 위치
val : 추가 할 원소
다음은 vector의 가장 뒤에 원소 4를 추가하는 예제이다.
#include <iostream>
#include <vector>
using namespace std;
int main(){
vector<int> v1 = {1, 2, 3};
cout << "Before Insert - ";
for(const auto& i : v1) cout << i << " ";
cout << '\n';
v1.insert(v1.end(), 4);
cout << "After Insert - ";
for(const auto& i : v1) cout << i << " ";
return 0;
}
Before Insert - 1 2 3
After Insert - 1 2 3 4
#2 두 벡터 연결하기
앞서 소개한 insert 멤버 함수는 다양한 형태로 오버라이딩 되어 있다.
그 중 원하는 위치에 특정 범위의 원소들을 넣을 수 있도록 설계된 다음과 같은 템플릿이 존재한다.
template <class InputIterator>
iterator insert (const_iterator position, InputIterator first, InputIterator last);
position : 원소를 추가할 위치
first : 추가할 원소들의 시작 위치
last : 추가할 원소들의 마지막 위치
다음은 insert 멤버 함수를 사용해 v1 벡터와 v2 벡터를 연결한 예제이다.
#include <iostream>
#include <vector>
using namespace std;
int main(){
vector<int> v1 = {1, 2, 3};
vector<int> v2 = {4, 5, 6};
cout << "Before Concat : ";
for(const auto& i : v1) cout << i << " ";
cout << '\n';
vector<int>::iterator it = v1.end();
v1.insert(it, v2.begin(), v2.end());
cout << "After Concat : ";
for(const auto& j : v1) cout << j << " ";
return 0;
}
Before Concat : 1 2 3
After Concat : 1 2 3 4 5 6
반응형
'Archive2 > C&C++' 카테고리의 다른 글
[C++] STL List erase member function 사용 시 주의점 (0) | 2022.08.18 |
---|---|
[C++] STL List Container 사용 방법 정리 (0) | 2022.08.15 |
[C++] stoi & to_string 문자열 ↔ 정수 변환 (0) | 2022.06.18 |
[C++] 순열&조합 구하는 함수 next_permutation (0) | 2022.06.14 |
[C++] tuple 사용법 & 예제 (0) | 2022.06.10 |