반응형
Vector STL 내용은 이 게시물과 이전 게시물에 나뉘어 있습니다.
http://programbasic.tistory.com/500
front() :: 벡터의 처음 정보를 반환한다.
back() :: 벡터의 마지막 정보를 반환한다.
이때 end와 back은 엄연히 다르다. end는 반복자를 반환하는 것.
front와 begin도 마찬가지다.
max_size() :: 벡터가 수용할 수 있는 최대 개수를 의미
resize(조정 크기, 초기화 값) :: 벡터의 크기를 줄일 수도, 늘릴 수도 있다.
이때 더 커진다면 새로 생긴 공간에 초기화 값을 채워 넣는다.
더 작아진다면 destroy를 한다.
empty() :: 벡터가 비었는지 확인한다. 비었으면 1 그렇지않으면 0
벡터의 활용성 ::
int, char, 배열 등등 심지어 구조체도 담을 수 있기에 사용자가 Vector을 익혀서 쓰기 응용하는것에 따라
벡터의 활용도는 차이가 많이 날 것이다.
벡터를 익히겠다고 생각했다면, 이터레이터(iterator)는 잘 알아 두는것이 좋다.
http://dream-cy.tistory.com/4 에 추가적인 내용이 담겨있다.
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | #include <iostream> #include <vector> // 벡터 헤더 파일 using namespace std; int main() { /* front() :: 벡터의 처음 정보를 반환한다. back() :: 벡터의 마지막 정보를 반환한다. 이때 end와 back은 엄연히 다르다. end는 반복자를 반환하는 것. front와 begin도 마찬가지다. max_size() :: 벡터가 수용할 수 있는 최대 개수를 의미 resize(조정 크기, 초기화 값) :: 벡터의 크기를 줄일 수도, 늘릴 수도 있다. 이때 더 커진다면 새로 생긴 공간에 초기화 값을 채워 넣는다. 더 작아진다면 destroy를 한다. empty() :: 벡터가 비었는지 확인한다. 비었으면 1 그렇지않으면 0 */ vector<int> vc; for (int i = 1 ; i <= 5 ; i ++) vc.push_back(i); cout << "벡터의 처음 :: " << vc.front() << endl; cout << "벡터의 끝 :: " << vc.back() << endl << endl; cout << "벡터 최대 크기 :: " << vc.max_size() << endl; cout << "현재 벡터 크기 :: " << vc.size() << endl << endl;; vc.resize(10, 77); cout << "현재 벡터 크기 :: " << vc.size() << endl; cout << "벡터의 처음 :: " << vc.front() << endl; cout << "벡터의 끝 :: " << vc.back() << endl << endl; vc.resize(3); cout << "현재 벡터 크기 :: " << vc.size() << endl; cout << "벡터의 처음 :: " << vc.front() << endl; cout << "벡터의 끝 :: " << vc.back() << endl << endl; // 벡터 비우기 vc.clear(); vc.empty() ? cout << "비어있습니다." << endl << endl: cout << "안비어있습니다." << endl << endl; /* 벡터는, 모든것을 다 담을 수 있습니다. ex) 구조체 */ // 구조체 선언 typedef struct _st { int a; char b; }St; // 배열 구조체 선언 St st[5]; for (int i = 0; i < 5; i++) { st[i].a = i; // 0 ~ 4를 담는다. st[i].b = i+97; // a ~ e를 담는다. } // vc1 벡터 생성 vector<St> vc1; // 벡터에 하나씩 담는다. for (int i = 0 ; i < 5; i ++) vc1.push_back(st[i]); cout << "구조체를 담는 벡터" << endl; for (int i = 0 ; i < vc1.size() ; i ++) cout << vc1[i].a << " " << vc1[i].b << endl; return 0; } // This source code Copyright belongs to Crocus // If you want to see more? click here >> | Crocus |
반응형
'Applied > 자료구조' 카테고리의 다른 글
비트셋(Bitset) STL 사용 방법 (0) | 2016.11.22 |
---|---|
스트링(String) STL 사용 방법 (0) | 2016.11.03 |
벡터(Vector) STL 사용 방법 (1) (2) | 2016.11.03 |
레드 블랙 트리(Red Black Tree) 개념 (0) | 2016.10.07 |
이진 탐색 트리(Binary Search Tree) 소스 코드 (2) | 2016.10.06 |