반응형

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 = ; i <= ; 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(1077);
    
    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 = ; i < 5; i ++)
        vc1.push_back(st[i]);
 
    cout << "구조체를 담는 벡터" << endl;
 
    for (int i = ; 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



반응형