큐
-
[알고리즘/Stack/Queue] Stack으로 Queue 구현, Queue로 Stack 구현Mhwan's Study/Algorithms 2021. 1. 6. 02:08
스택 2개로 큐를 만들 수 있고, 큐 2개로 스택을 만들 수 있다. 개인적으로 이 알고리즘을 처음 알았을 때 참신함에 소름이 돋았던 기억이 난다. 스택은 LIFO형태이고, 큐는 FIFO형태 이므로 들어오고 나갈때 저장된 순서를 뒤집을 수 있다면 스택으로 큐를 구현할 수 있고, 큐로 스택을 구현할 수 있다. 그래서 2개가 필요한것이다. # Stack으로 Queue 구현 (뺄때 다른 스택으로 옮겨서 빼자!) 두개의 스택인 A, B 스택이 있다. - enQueue : A스택에 push - deQueue : B 스택에 남은게 있다면 B에 있는 것을 pop하고, 남은게 없다면 A스택에 있는 것을 모두 pop해서 B로 push하고 B에 있는 것을 pop한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 1..
-
[자료구조] Queue(큐)Mhwan's Study/Data Structure 2021. 1. 6. 00:42
# Queue (큐) First In First Out (FIFO)형태의 자료구조로, BFS탐색이나 버퍼 등에 사용된다. 기본적으로 rear와 front라는 포인터로 삽입할 곳과 뺄 곳을 가리키고 있음 (rear : enQueue (삽입)할 위치, front : deQueue(데이터 빼기)할 위치) 1. 기본적인 구현 front와 rear은 모두 초기에 -1로 시작한다. 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 public Queue { int[] queue; int rear = -1; int front = -1; public Queue(){ queue = new int[50]; } public void enQueue(in..