본문 바로가기
C++/C++ Common

vector

by doublerabbits 2022. 8. 6.

선언

vector<int> vec1;

 

 

마지막 요소에 데이터 추가

vec1.push_back(10);
vec1.push_back(20);

 

 

마지막 요소의 데이터 삭제

vec1.pop_back();

 

 

특정 요소 삭제

(0 base 에서 4, 5 번 요소 삭제)

vec1.erase(vec1.begin() + 3, vec1.begin() + 5);

 

 

전체 데이터 삭제

vec1.clear();

 

 

데이터 순환

for (iter = vec1.begin(); iter != vec1.end(); ++iter)
{
	printf("%d \n", (int)(*iter));
}
printf("vec1 size = %zd \n\n", vec1.size());

 

 

데이터 복사

vector<int> vec2 = vector<int>(vec1.begin(), vec1.begin() + 4);
for (iter = vec2.begin(); iter != vec2.end(); ++iter)
{
	printf("%d \n", (int)(*iter));
}

 

 

예제

#include <iostream>
#include <vector>

using namespace std;

int main() 
{
	vector<int> vec1;
	vector<int>::iterator iter;

	printf("vec1 size = %zd \n\n", vec1.size());

	vec1.push_back(10);
	vec1.push_back(20);
	printf("vec1 size = %zd \n\n", vec1.size());
	
	for (iter = vec1.begin(); iter != vec1.end(); ++iter)
	{
		printf("%d \n", (int)(*iter));
	}
	printf("vec1 size = %zd \n\n", vec1.size());

	vec1.clear();
	printf("vec1 size = %zd \n\n", vec1.size());

	vec1.resize(5);
	printf("vec1 size = %zd \n\n", vec1.size());

	vec1.push_back(100);
	vec1.push_back(200);
	printf("vec1 size = %zd \n\n", vec1.size());

	vec1.pop_back();
	printf("vec1 size = %zd \n\n", vec1.size());

	iter = vec1.begin();
	*iter = 111;

	iter++;
	*iter = 222;

	iter++;
	*iter = 333;

	for (iter = vec1.begin(); iter != vec1.end(); ++iter)
	{
		printf("%d \n", (int)(*iter));
	}
	printf("vec1 size = %zd \n\n", vec1.size());

	iter = vec1.end() - 1;
	*iter = 999;

	for (iter = vec1.begin(); iter != vec1.end(); ++iter)
	{
		printf("%d \n", (int)(*iter));
	}
	printf("vec1 size = %zd \n\n", vec1.size());

	vec1.erase(vec1.begin() + 3, vec1.begin() + 5);
	for (iter = vec1.begin(); iter != vec1.end(); ++iter)
	{
		printf("%d \n", (int)(*iter));
	}
	printf("vec1 size = %zd \n\n", vec1.size());

	vector<int> vec2 = vector<int>(vec1.begin(), vec1.begin() + 4);
	for (iter = vec2.begin(); iter != vec2.end(); ++iter)
	{
		printf("%d \n", (int)(*iter));
	}
	printf("vec2 size = %zd \n\n", vec1.size());

	int userInput;
	cin >> userInput;
	
	return 0;
}

 

 

STL

 

STL

STL(Standard Template Library) 템플릿을 사용하여 자료형에 관계없이 범용적인 프로그래밍을 가능하게 하는 라이브러리 STL 구성 요소 Container 기본 자료형 또는 사용자 정의 자료형을 담는 자료 구조

doublerabbits.tistory.com

 

'C++ > C++ Common' 카테고리의 다른 글

queue  (0) 2022.08.06
map  (0) 2022.08.06
list  (0) 2022.08.06
STL  (0) 2022.08.06
Callback function  (0) 2022.07.18