[자료구조/JAVA]스택과 큐

hy_jin·2021년 9월 30일
0

Stack의 특징

  1. 먼저 들어간 자료가 나중에 나옴 LIFO(Last In First Out) 구조
  2. 시스템 해킹에서 버퍼오버플로우 취약점을 이용한 공격을 할 때 스택 메모리의 영역에서 함
  3. 인터럽트처리, 수식의 계산, 서브루틴의 복귀 번지 저장 등에 쓰임
  4. 그래프의 깊이 우선 탐색(DFS)에서 사용
  5. 재귀적(Recursion) 함수를 호출 할 때 사용

stack 사용법

import java.utill.Stack;
stack stack=new Stack<>(); #int형 선언
stack.push(1); #값 1 추가
stack.pop(); #제일 마지막에 입력된 값 제거
stack.peep #제일 마지막에 입력된 값 반환
stack.isEmpty #스택이 비어 있을때 true 반환

Queue의 특징

  1. 먼저 들어간 자료가 먼저 나오는 구조 FIFO(First In FIrst Out) 구조

  2. 큐는 한 쪽 끝은 프런트(front)로 정하여 삭제 연산만 수행함

  3. 다른 한 쪽 끝은 리어(rear)로 정하여 삽입 연산만 수행함

  4. 그래프의 넓이 우선 탐색(BFS)에서 사용

  5. 컴퓨터 버퍼에서 주로 사용, 마구 입력이 되었으나 처리를 하지 못할 때, 버퍼(큐)를 만들어 대기 시킴

Queue 사용법

import java.util.LinkedList;
import java.util.Queue; //import
Queue queue = new LinkedList<>();

queue.add(1); #값 1 추가
queue.remove(); #제일 첫번째 항목에 입력된 값 제거
queue.peep #제일 첫번째 항목에 입력된 값 반환
queue.isEmpty #큐가 어 있을때 true 반환

profile
천천히 꾸준히

0개의 댓글

관련 채용 정보