코딩테스트
[JAVA] DFS 깊이 우선 탐색 Queue로 구현
dackyy
2022. 7. 30. 23:16
반응형
package Algorithm;
import java.util.LinkedList;
import java.util.Queue;
class StackQueue{
Queue<Index> mainQueue;
Queue<Index> tempQueue;
public StackQueue() {
mainQueue = new LinkedList<>();
tempQueue = new LinkedList<>();
}
public void push(Index a) {
mainQueue.offer(a);
}
public Index pop() {
Index result=null;
if(mainQueue.isEmpty()) {
return null;
}
while(mainQueue.size() != 1) {
tempQueue.offer(mainQueue.poll());
}
result = mainQueue.poll();
//나머지를 다시 main큐로 옮겨준다.
if(!tempQueue.isEmpty()) {
while(!tempQueue.isEmpty()) {
mainQueue.offer(tempQueue.poll());
}
}
return result;
}
}
class Index {
private int x;
private int y;
public Index() {
}
public Index(int x, int y) {
this.x = x;
this.y = y;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}
반응형