336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
벡터 내에 
  1. full
  2. empty
  3. size
  4. clear
  5. push_back
  6. operator []
6가지를 코드로 작성해보았다. 아래는 코드이다.
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
template<class T>
struct my_vector {
    T* d;
    int sz;
    int cap;
    my_vector(int init_size = 32) {
        sz = 0;
        cap = init_size;
        d = new T[cap];
    }
    bool full() { return sz == cap; }
    bool empty() { return !sz; }
    int size() { return sz; }
    void clear() { sz = 0; }
    T operator [] (int i) { return d[i]; }
    void push_back(T input) {
        if (full()) {
            T* tmp = T[cap << 1];
            for (register int i = 0; i < sz; ++i) {
                tmp[i] = d[i];
            }
            delete[] d;
            d = tmp;
            cap <<= 1;
        }
        d[sz++= input;
    }
};
cs


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

[C++STL]binary_search  (0) 2017.07.20

+ Recent posts