TIL #2 // Stack, Queue

이윤주·2019년 12월 29일
0

Stack

Stack구조란??

Stack구조란 제일 나중에 들어온 자료가 제일 먼저 나가는 후입선출(last in, first out, LIFO)구조이다. 일상생활에서 간단한 예를 들면 프링글스 과자에서는 나중에 쌓인(후입) 과자를 가장 먼저 먹게(선출) 된다.

Stack Method

  • push(): 스택에 자료를 넣는다(top에 쌓는것 )

  • pop(): 스택의 자료를 추출한다(후입선출, top부터 꺼낸다)

  • peek(): 마지막에 위치한 자료를 확인한다.

  • isEmpty(): 스택이 비어있는지 판단한다 (비어있으면 true)

  • isfull() : 스택이 가득 차있는지 판단한다(가득차면 true)

    Stack pseudocode

  • Stack에 자료를 넣을 시
    1) push()를 이용하에 스택에 자료를 넣는다
    2) 공간이 차있다면 push()를 하였을 때 오류(오버플로우)가 뜨게 된다 -> isFull()을 이용하여 true를 반환하는지 확인한다.

  • Stack에 자료를 추출할 시
    1) pull()을 이용하여 자료를 추출한다.
    2) 공간이 비어있다면 pop()을 하였을 시 오류(언더플로우)가 뜨게 된다 -> isEmpty()를 하였을 때 true를 반환한는지 확인한다.

Queue

Queue구조란?

Queue구조란 Stack구조와 반대로 먼저들어온 자료가 제일 먼저 나가는 선입선출(first in, first out, FIFO)구조이다. 선착순 물품을 받기위해 줄을 선다던지의 일상적인 예를 들 수 있다.

Queue Method

  • enqueue(): 큐에 자료를 넣는다

  • dequeue(): 큐의 데이터를 추출한다

  • peek(): 마지막에 위치한 자료를 확인한다.

  • isEmpty(): 큐가 비어있는지 판단한다 (비어있으면 true)

  • isFull(): 큐가 가득 차있는지 판단한다(가득차면 true)

    Queue pseudocode

  • Queue에 자료를 넣을 시
    1) enqeue()를 이용하에 Queue에 자료를 넣는다
    2) 공간이 차 있다면 enqueue()를 하였을 때 오버(언더플로우)가 뜨게 된다 -> isFull()를 이용하여 true를 반환하는지 확인한다.

  • Queue에 자료를 추출할 시
    1) dequeue()을 이용하여 자료를 추출한다.
    2) 공간이 비어있다면 dequeue()을 하였을 시 오류(언더플로우)가 뜨게 된다 -> isEmpty()를 하였을 때 true를 반환한는지 확인한다.

0개의 댓글