[혼공컴운] 스택(Stack)과 큐(Queue)

2025. 7. 6. 15:56·혼공학습단/혼공컴운

개념 설명

▶ 스택 (Stack)

  • 정의: 스택은 뒤로 넣고 뒤로 금방하는 (Last-In First-Out, LIFO) 구조.
  • 복소 가능 작업:
    • push: 인접 값을 스택의 끝에 추가
    • pop: 스택의 끝에서 값 개발 (제거)
  • 특징:
    • 매우 간단하고 다른 자료구 구성의 기원이 되기도 함
    • 불필요한 값 감지 불가 (LIFO)

▶ 큐 (Queue)

  • 정의: 큐는 지난시점에 넣고 지나지 않은 순서대로 가지고 가는 (First-In First-Out, FIFO) 구조.
  • 복소 가능 작업:
    • enqueue: 값을 큐 끝에 추가
    • dequeue: 큐 첫번째 값 개발 (제거)
  • 특징:
    • 일정 순서대로 값 처리
    • 역순서처리 불가

TypeScript로 스택 구현

// 스택 구현
class Stack<T> {
  private items: T[] = [];

  // push: 값을 뒤에 넣기
  push = (item: T): void => {
    this.items.push(item);
  };

  // pop: 뒤에서 값 개발
  pop = (): T | undefined => {
    return this.items.pop();
  };

  // peek: 최근 값
  peek = (): T | undefined => {
    return this.items[this.items.length - 1];
  };

  // isEmpty: 빈 상태 확인
  isEmpty = (): boolean => {
    return this.items.length === 0;
  };
}

TypeScript로 큐 구현

// 큐 구현
class Queue<T> {
  private items: T[] = [];

  // enqueue: 끝에 값 추가
  enqueue = (item: T): void => {
    this.items.push(item);
  };

  // dequeue: 첫번째 값 개발
  dequeue = (): T | undefined => {
    return this.items.shift();
  };

  // front: 첫번째 값 확인
  front = (): T | undefined => {
    return this.items[0];
  };

  // isEmpty: 빈 상태 확인
  isEmpty = (): boolean => {
    return this.items.length === 0;
  };
}

사용 예제

const stack = new Stack<number>();
stack.push(10);
stack.push(20);
console.log(stack.pop()); // 20

const queue = new Queue<string>();
queue.enqueue("A");
queue.enqueue("B");
console.log(queue.dequeue()); // "A"

1주차 숙제

저작자표시 (새창열림)

'혼공학습단 > 혼공컴운' 카테고리의 다른 글

[혼공컴운] 코어와 스레드, 멀티 코어와 멀티 스레드 완벽 이해하기  (0) 2025.07.13
'혼공학습단/혼공컴운' 카테고리의 다른 글
  • [혼공컴운] 코어와 스레드, 멀티 코어와 멀티 스레드 완벽 이해하기
sunghoyaaa
sunghoyaaa
문의메일 : mail@sunghoyaaa.com
  • sunghoyaaa
    sunghoyaaa
    sunghoyaaa
  • 전체
    오늘
    어제
    • 분류 전체보기 (9) N
      • Linux (1)
      • Front-end (0)
      • 혼공학습단 (8) N
        • 혼공파 (6)
        • 혼공컴운 (2) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    혼공학습단
    큐
    스택
    혼공컴운
    메모리가 부족할 때
    파이썬
    혼공파
    Linux
    Python
    swap memory
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
sunghoyaaa
[혼공컴운] 스택(Stack)과 큐(Queue)
상단으로

티스토리툴바