티스토리 뷰

Algorithm/C++ STL

[C++] [STL] 3. vector

쟌쥰 2019. 11. 29. 18:12

**vector 와 배열과의 차이 : 동적으로 원소를 추가할 수 있음, 크기가 자동으로 늘어남

vector 주요 함수

<iterator = 반복자>

  • begin()   : beginning iterator 를 반환 
  • end()   : end iterator 를 반환

<추가 및 삭제>

  • push_back(element) : 벡터 제일 뒤에 원소 추가 
  • pop_back ()   : 벡터 제일 뒤에 원소 삭제

<조회>

  • [i]   : i번째 원소 반환
  • at[i]   : i번째 원소 반환 
  • front()   : 첫번째 원소를 반환 
  • back()   : 마지막 원소를 반환

<기타>

  • empty()   : 벡터가 비어있음 true 아님 false 반환 
  • size()   : 벡터 원소들의 갯수를 반환

 

예제 코드

#include<vector>

int main(void) {
	//vector 생성 int형 vector
	vector<int> v;
	//vector<double> v2;		//double자료형을 저장하는 동적배열
	//vector<구조체> v3;		//사용자가 정의한 구조체를 저장하는 동적배열
	//vector<int> v4(n);		//벡터의 초기 크기를 n으로 설정
	//vector<int> v5(n, 1);	//벡터의 초기 크기를 n으로 설정하고 1로 초기화
	//vector<vector<int>> v6(n, vector<int>(m, 0)); //크기가 n*m인 2차원 벡터를 선언 0으로 초기화
	
	//push_back	=	vector제일 뒤에 원소 추가
	// 1 2 3 4 5
	v.push_back(1);
	v.push_back(2);
	v.push_back(3);
	v.push_back(4);
	v.push_back(5);

	//pop_back	=	vector제일 뒤에 원소 삭제
	// 1 2 3 4
	v.pop_back();

	//front		=	첫번째 원소
	cout << "vector front value : " << v.front() << endl;
	//back		=	마지막 원소
	cout << "vector end value : " << v.back() << endl;
	//[i]		=	i번째 원소
	cout << "vector operator[] : " << v[3] << endl;
	//at(i)		=	i번째 원소
	cout << "vector at : " << v.at(3) << endl;
	//size		=	벡터 원소들의 갯수
	cout << "vector size : " << v.size() << endl;
	//empty		=	비었으면 true 아니면 false
	cout << "is it empty? : " << (v.empty() ? "yes" : "no") << endl;

	//iterator (반복자)
	vector<int>::iterator begin_iter = v.begin();
	//auto begin_iter1 = v.begin();	//이렇게도가능
	vector<int>::iterator end_iter = v.end();
	//auto end_iter1 = v.end();	//이렇게도가능

	//iterator 로부터 값 받아오기
	cout << "vector begin value : " << *begin_iter << endl;

	//iterator 이용해서 반복문
	for (vector<int>::iterator iter = v.begin(); iter != v.end(); iter++) {
		cout << *iter << ' ';
	}
	cout << endl;
}

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

[C++] [STL] 6. hash_map  (0) 2019.11.29
[C++] [STL] 5. map  (0) 2019.11.29
[C++] [STL] 4. list  (0) 2019.11.29
[C++] [STL] 2. queue  (0) 2019.11.29
[C++] [STL] 1. stack  (0) 2019.11.29
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함