기타/C++ 문법

<erase/insert> 삭제 및 삽입

배발자 2022. 1. 20.
반응형

벡터의 원소를 삭제를 하면 이후 인덱스에 해당하는 값이 지운 인덱스 칸을 채울 수 있다.

또한 어떤 특정 인덱스에 특정값을 삽입 하면 기존에 있던 값들은 뒤에 위치하게 된다. 

 

다음 문법을 확인하고 숙지하자.

 

추가적으로, 

erase(int start, int end)

하나가 아닌 여러개를 지울 때는 해당하는 범위의 원소를 지운다. 

start는 포함하고, end는 포함하지 않는다는 것에 주의하자
v.erase(v.begin()+2, v.begin()+4)는 세 번째부터 네 번째 까지의 원소를 지운다.

#include <iostream>
#include <vector>
using namespace std;

int main() {
	vector<int> v(3);
	for (int i = 0; i < 3; i++) {
		v[i] = i;
	}
	for (int i = 0; i < v.size(); i++) {
		cout << v[i] << " ";
	}
	cout << endl;
	v.erase(v.begin()+1);

	for (int i = 0; i < v.size(); i++) {
		cout << v[i] << " ";
	}
	cout << endl; 
	v.insert(v.begin() + 1, 1); 
	for (int i = 0; i < v.size(); i++) {
		cout << v[i] << " ";
	}
	cout << endl;
	return 0;
}

 

반응형

'기타 > C++ 문법' 카테고리의 다른 글

<unordered_map> 자료구조  (0) 2022.01.21
<erase> 문자열 지우기  (0) 2022.01.20
<vector> 반환값  (0) 2022.01.20
<resize> 벡터 초기화  (0) 2022.01.19
<reverse> 문자열 역정렬  (0) 2022.01.17

댓글