스택과 큐(Stack & Queue)

canyi·2023년 6월 23일
0

java m1

목록 보기
27/40

스택(Stack)

  • LIFO(Last In First Out)구조
  • 마지막에저장된것을제일먼저꺼내게된다. - ex) 괄호 검사, undo/redo, 수식 계산

큐(Queue)

  • FIFO구조
  • 먼저저장한것을먼저꺼내게됨
  • ex)프린트작업목록,버퍼,은행대기표

예시

스택에서 요소 하나를 꺼내서 출력

import java.util.*;

public class ex03_stack_queue {
	public static void main(String[] args) {
		Stack st = new Stack();
		Queue q = new LinkedList();	// Queue인터페이스의 구현체인 LinkedList를 사용
		
		st.push("0");
		st.push("1");
		st.push("2");

		q.offer("0");
		q.offer("1");
		q.offer("2");

		System.out.println("= Stack =");
		System.out.println(st.peek());
		while(!st.empty()) {
			System.out.println(st.pop()); // 스택에서 요소 하나를 꺼내서 출력
		}

	}
}

import java.util.*;

public class ex03_stack_queue {
	public static void main(String[] args) {
		Stack st = new Stack();
		Queue q = new LinkedList();	// Queue인터페이스의 구현체인 LinkedList를 사용
		
		st.push("0");
		st.push("1");
		st.push("2");

		q.offer("0");
		q.offer("1");
		q.offer("2");


		System.out.println("= Queue =");
		while(!q.isEmpty()) {
			System.out.println(q.poll()); // 큐에서 요소 하나를 꺼내서 출력
		}
	}
}

profile
백엔드 개발 정리

0개의 댓글