본문 바로가기

queue

(4)
[코딩인터뷰 완전정복] 4.7 순서 정하기 Q : 프로젝트의 리스트와 프로젝트들 간의 종속 관계(즉, 프로젝트 쌍이 리스트로 주어지면 각 프로젝트 쌍에서 두 번째 프로젝트가 첫 번째 프로젝트에 종속되어 있다는 뜻)가 주어졌을 때, 프로젝트를 수행해 나가는 순서를 찾으라. 유효한 순서가 존재하지 않으면 에러를 반환한다. 예시 입력 : 프로젝트: a, b, c, d, e, f 종속관계: (a,d),(f,b),(b,d),(f,a),(d,c) 출력 : f,e,a,b,d,c #include #include #include #include template std::list ordering(std::list proj, std::list relation) { int size = proj.size(); int *depNum = new int[size]; bool..
[코딩인터뷰 완전정복] 4.3 깊이의 리스트 Q : 이진 트리가 주어졌을 때 같은 깊이에 있는 노드를 연결리스트로 연결해 주는 알고리즘을 설계하라. 즉, 트리의 깊이가 D라면 D개의 연결리스트를 만들어야 한다. ...더보기 template class TreeNode{ public: T data; TreeNode* parent; TreeNode* left; TreeNode* right; TreeNode(T data) { this->data = data; } }; template class ListNode { T data; ListNode* previous; ListNode* next; ListNode(T data) { this->data = data; } }; #include #include #include #include "Node.h" using..
[코딩인터뷰 완전정복] 3.6 동물 보호소 Q : 먼저 들어온 동물이 먼저 나가는 동물 보호소가 있다고 하자. 이 보호소는 개와 고양이만 수용한다. 사람들은 보호소에서 가장 오래된 동물부터 입양할 수 있는데, 개와 고양이 중 어떤 동물을 데려갈지 선택할 수 있다. 하지만 특정한 동물을 지정해 데려갈 수는 없다. 이 시스템을 자료구조로 구현하라. 이 자료구조는 enqueue, dequeueAny, dequeueDog, dequeueCat의 연산을 제공해야 한다. 기본적으로 탑재되어 있는 LinkedList 자료구조를 사용해도 좋다. #include #include class Animal { public: int num; Animal(int n) { num = n; } }; class Dog : public Animal { public : Dog(i..
[C++ STL] Queue 1. Queue - FIFO 자료형이다. - 가장 먼저 들어간 자료가 가장 먼저 나온다. - 임의접근이 불가능 하다. - 내부는 deque로 이루어져있다. - 임의 접근이 가능한 deque의 기능을 제한하여 임의 접근이 불가능 하게 한 형태 2. Include #include 3. 생성자 std::queue name; std::queue name(const _Container& otherContainer); // queue, deque std::queue name(const _Container& otherContainer); // list, deque, other circular buffer (make your own) /* ex) list li(5,100); queue q(li); */ namespac..