본문 바로가기
Algorithm/Study

Stack, Queue

by 당진개발자 2024. 2. 4.

1. 스택

  1) 스택이란?

    - 물건을 쌓아 올리듯 자료를 쌓아 올린 형태의 자료구조

    - 선형구조이다. (자료 간의 관계가 1:1 관계를 갖는다.)

    - 후입선출구조 (LIFO)

 

  2) 주요 메서드

Stack st = new Stack();
메서드 설명
boolean empty() Stack이 비어있는지 확인
Object peek() Stack의 맨 위에 저장된 객체를 반환
pop()과 달리 Stack에서 객체를 꺼내지 않음
비었을 때는 EmptyStackException 반환
Object pop() Stack의 맨 위에 저장된 객체를 꺼냄
비었을 때는 EmptyStackException 반환
Object push(Object item) Stack에 객체(item)을 저장
int search(Object o) Stack에서 주어진 객체(o)를 찾아서 그 위치를 반환
못 찾으면 -1 반환(배열과 달리 위치가 1부터 시작)

 

 


2. 큐

  1) 큐란?

    - 선입선출구조 (FIFO)

 

  2) 주요 메서드

Queue q = new LinkedList();
메서드 설명
boolean add(Object o) 지정된 객체를 Queue 에 추가
성공하면 true 반환, 저장공간이 부족하면 IllegalstateException 발생
Object element()
삭제없이 요소를 읽어옴
peek와 달리 Queue가 비었을 때 NoSuchElementException 발생
boolean offer(Object o) Queue 에 객체를 저장
성공하면 true, 실패하면 false 반환
Ojbect peek()
삭제없이 요소를 읽어옴
Queue 가 비어있으면 null을 반환
Object poll()
Queue 에서 객체를 꺼내서 반환.
비어있으면 null을 반환
Object remove() Queue 에서 객체를 꺼내 반환
비어잇으면 NoSuchElementException 발생

'Algorithm > Study' 카테고리의 다른 글

Tree, BFS  (0) 2024.02.06
LinkedList  (0) 2024.02.05
부분집합, 비트연산, 바이너리 카운팅  (0) 2024.02.01
완전 탐색  (0) 2024.01.30
알고리즘 / 재귀  (0) 2024.01.29