일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- two pointer
- Two Points
- 그래프
- MYSQL
- Stored Procedure
- binary search
- Trie
- 스토어드 프로시저
- 다익스트라
- String
- Dijkstra
- 이진탐색
- union find
- Hash
- DP
- Brute Force
- SQL
Archives
- Today
- Total
codingfarm
vector 본문
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 | #include<iostream> using namespace std; class VectorNode { public: int value, key; }; class Vector { public: int cnt, reserved; VectorNode *nodes; void Resize() { reserved *= 2; VectorNode *tmp = new VectorNode[reserved]; for (int i = 0; i < reserved / 2; i++) tmp[i] = nodes[i]; delete[] nodes; nodes = tmp; } Vector() { cnt = 0; reserved = 4; nodes = new VectorNode[reserved]; } ~Vector() { delete[] nodes; } void PushBack(int key, int value) { if (cnt >= reserved) Resize(); nodes[cnt].key = key; nodes[cnt].value = value; cnt++; } void Clear() { delete[] nodes; cnt = 0; reserved = 4; nodes = new VectorNode[reserved]; } }; int main(void) { Vector vector; for (int i = 0; i < 20; i++) { vector.PushBack(i, i); } for (int i = 0; i < 20; i++) { cout << vector.nodes[i].value << " "; } return 0; } | cs |
'Algorithm & Data structure > 이론' 카테고리의 다른 글
Union Find (0) | 2020.09.06 |
---|---|
Merge Sort (0) | 2020.09.06 |
list(static allocation) (0) | 2020.09.06 |
list(dynamic allocation) (0) | 2020.09.05 |
세그먼트 트리(Segment Tree) (0) | 2020.09.02 |
Comments