스택과 큐

스택 ( Stack) - 후입선출

 

  • 스택은 접시쌓기와 같습니다 꺼낼 때 가장 나중에 쌓은 제일 윗접시를 꺼내는 후입선출 구조입니다
  • 데이터를 순서대로 저장하고 관리하는 선형 자료구조이다
  • FILO, LIFO - first in last out, last in first out
  • 웹브라우저 뒤로가기, 턴제게임 턴 무르기, 상점 되팔기, 트레이서 시간역행, Ctrl + Z 등이 있습니다

 

 

 

주요 메서드

 

메서드 설명
Push(T item) 스택의 맨 위에 항목을 추가합니다. (데이터 삽입)
Pop() 스택의 맨 위에 있는 항목을 제거하고 반환합니다. (데이터 제거 및 반환)
Peek() 스택의 맨 위에 있는 항목을 제거하지 않고 반환합니다. (데이터 확인)
Clear() 스택에서 모든 항목을 제거합니다.
Contains(T item) 스택에 특정 항목이 포함되어 있는지 확인합니다.

 

 


큐 ( Queue ) - 선입선출

 

  • 큐는 우리가 가계에 들어가거나 음식점에 갈 때 줄서기와 비슷합니다 먼저온 순서대로 먼저 나가는 구조입니다
  • 데이터를 순서대로 저장하고 관리하는 선형 자료구조이다
  • FIFO - first in first out
  • 프린터 대기열, 너비 우선 탐색(BFS), 버퍼링 등에 사용됩니다

 

 

주요 메서드

 

메서드 설명
Enqueue(T item) 큐의 **맨 뒤(Rear)**에 항목을 추가합니다. (삽입)
Dequeue() 큐의 **맨 앞(Front)**에 있는 항목을 제거하고 반환합니다. (제거 및 반환)
Peek() 큐의 **맨 앞(Front)**에 있는 항목을 제거하지 않고 반환합니다. (확인)
Clear() 큐에서 모든 항목을 제거합니다.
Contains(T item) 큐에 특정 항목이 포함되어 있는지 확인합니다.

 


덱 ( Deque )

 

  • Deque란 양방향 큐 (Double-ended Queue)의 줄임말로 데이터의 양쪽 끝에서 모두 삽입과 삭제가 가능한 자료구조 입니다 큐의 FIFO(선입선출) 방식과 스택의 LIFO(후입선출) 방식을 혼합한 형태로 앞뒤 어디서든 데이터를 효율적으로 추가하거나 제거할 수 있어 다양한 응용 분야에서 사용됩니다
  • 연산은 덱의 앞이나 뒤에서 삽입, 삭제, 확인등이 가능해 유연합니다
  • 활용 분야는 슬라이딩 윈도우, 웹브라우저 히스토리 등이 있습니다

'C# > 자료구조를 활용한 데이터 관리' 카테고리의 다른 글

그래프 와 트리  (0) 2025.11.03
딕셔너리  (0) 2025.11.03
리스트와 링크드 리스트  (0) 2025.10.14
자료구조  (0) 2025.10.14