목록전체 글 (134)
오븐 노트
#include using namespace std; #include #include #include #include #include int main() { srand(static_cast(time(nullptr))); vector v; for (int i = 0; i < 100; i++) { int num = rand() % 100; v.push_back(num); } // Q1) number라는 숫자가 벡터에 체크하는 기능 (bool, 첫 등장 iterator) { int number = 50; bool found = false; vector::iterator it = v.end(); // TODO for (unsigned int i = 0; i < v.size(); i++) { int data = ..
#include using namespace std; #include #include #include #include #include // 면접의 경우 map과 set의 구조와 같은 세부 내용을 물어보기도 하고, map과 multimap의 차이점에 대해서도 물어보기도 한다. int main() { // map : (Key, Value) // map set s; // value가 필요없고 key만 필요로 하는 경우 // set는 기본적으로 map과 일치하지만 key, value가 일치한다는 특징이 있다. // multimap : map에서 중복 키를 허용한 것 // multiset : set에서 중복 키를 허용한 것 // 위 두개는 자주 사용하지는 않는다. // 주 기능 : 넣기 빼기 찾기 순회하기 // ..
#include using namespace std; #include #include #include #include class Player { public: public: Player() : _playerId(0) { } Player(int playerId) : _playerId(playerId) { } public: int _playerId; }; template struct Pair { T1 t1; T2 t2; }; int main() { // 연관 컨테이너 // map : 균형 이진 트리 (AVL) // - 노드 기반 class Node { public: Node* _left; Node* _right; // DATA pair _data; //int _key; //Player* _value; }; ..
#include using namespace std; #include #include #include #include class Player { public: public: Player() : _playerId(0) { } Player(int playerId) : _playerId(playerId) { } public: int _playerId; }; template struct Pair { T1 t1; T2 t2; }; int main() { // 연관 컨테이너 // map : 균형 이진 트리 (AVL) // - 노드 기반 class Node { public: Node* _left; Node* _right; // DATA pair _data; //int _key; //Player* _value; }; ..
#include using namespace std; #include #include #include // vector : 동적 배열 // [ ] // list : 이중 연결 리스트 // [ ] [ ] [ ] [ ] // deque : double-ended queue 데크 // [ ] int main() { // 시퀀스 컨테이너 (Sequence Container) // 데이터가 삽입 순서대로 나열되는 형태 // vector list deque //deque dq; //dq.push_back(1); //dq.push_front(2); //cout 데이터 칸 자체를 새로 추가하는 개념이기에 동작이 빠르다 // - 임의 접근 -> 임의 접근 지원 dq[3] = 0; cout
#include using namespace std; #include #include template class Node { public: Node() : _next(nullptr), _prev(nullptr), _data(T()) { } Node(const T& value) : _next(nullptr), _prev(nullptr), _data(value) { } public: Node* _next; Node* _prev; T _data; }; template class Iterator // Node pointer를 내부적으로 들고있는 역할 { public: Iterator() : _node(nullptr) { } Iterator(Node* node) : _node(node) { } // 자기 자신의 ..
#include using namespace std; #include #include class Node // 이중 연결 리스트 { public: Node* _next; Node* _prev; int _data; }; // 단일 / 이중 / 원형 // list : 연결 리스트 // [] 한칸이 노드의 개념 // [1] -> [2] -> [3] -> [4] -> [5] // [1] [2] [3] [4] [5] // [1] [2] [3] [4] [5] [1] int main() { // list (연결 리스트) // - list의 동작 원리 // - 중간 삽입/삭제 // - 처음/끝 삽입/삭제 // - 임의 접근 list li; list::iterator itRemember; for (int i = 0; i..
#include using namespace std; #include #include class Node // 단일 연결 리스트 { public: Node* _next; int _data; }; // 단일 / 이중 / 원형 // list : 연결 리스트 // [] 한칸이 노드의 개념 // [1] -> [2] -> [3] -> [4] -> [5] // [1] [2] [3] [4] [5] // [1] [2] [3] [4] [5] [1] int main() { // list (연결 리스트) // - list의 동작 원리 // - 중간 삽입/삭제 // - 처음/끝 삽입/삭제 // - 임의 접근 list li; for (int i = 0; i < 100; i++) li.push_back(i); //li.push_..