신규 블로그를 만들었습니다!
package stack;
import java.util.LinkedList;
import java.util.Queue;
public class StackUsingQueue {
private Queue main_queue;
private Queue temp_queue;
StackUsingQueue() {
main_queue = new LinkedList();
temp_queue = new LinkedList();
}
// 1 2 3 4
// 4
// 1 2 3
void push(Object item) {
main_queue.add(item);
}
Object pop() {
if (!main_queue.isEmpty()) {
Object result = null;
while(true) {
result = main_queue.poll();
if(main_queue.isEmpty()) {
// 마지막 값을 반환
break;
}else {
temp_queue.add(result);
}
}// end while
// 다시 메인 큐에 넣어 줌
while(!temp_queue.isEmpty()) {
main_queue.add(temp_queue.poll());
}
return result;
}else {
return null;
}
}
public static void main(String[] args) {
StackUsingQueue stack = new StackUsingQueue();
stack.push(1);
stack.push(2);
stack.push(3);
System.out.println(stack.pop());
System.out.println(stack.pop());
stack.push(4);
stack.push(5);
System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack.pop());
}
}
'취업 및 공부' 카테고리의 다른 글
취업 :: 컴퓨터 기본 지식 정리 (JAVA, 웹, 자료구조, 알고리즘, 네트워크, DB, 운영체제) (2) | 2018.05.11 |
---|---|
공부 :: BFS 미로찾기 (JAVA) (1) | 2018.03.30 |
공부 :: Circulation Queue 환형 큐 (JAVA) (1) | 2018.03.30 |
공부 :: Stack 2개를 이용해서 Queue 만들기 (자바/JAVA) (1) | 2018.03.29 |
공부 :: Stack / 스택 프로그래밍 (1) | 2018.03.29 |
최근댓글