자료구조 with C#
스택(Stack)과 큐(Queue)
코다람쥐
2022. 1. 28. 12:16
1. 스택(Stack)
스택(Stack) 특징
LIFO(후입선출 Last in First Out) : 나중에 들어온 데이터가 먼저 나간다.
네임스페이스 선언
using System.Collections.Generic;
스택 사용방법
Stack<int> stack = new Stack<int>();
stack.Push(10); // 첫 데이터
stack.Push(11);
stack.Push(12); // 마지막 데이터
int data = stack.Pop(); // 변수에 12를 반환되고 12를 삭제
int data2 = stack.Peek(); // 스택의 마지막 값인 11를 출력
Push : 마지막 공간에 데이터 추가
Pop : 마지막에 들어온 데이터 삭제 (후입선출)
Peek : 마지막 데이터 엿보기
주의할 점
스택에 데이터가 없으면 pop과 peek을 사용했을 때 오류가 발생한다.
if(stack.Count > 0)
if문을 이용하여 해결가능
2. 큐(Queue)
큐(Queue) 특징
FIFO(선입선출 First in First out) : 먼저 들어온 데이터가 먼저 나간다.
네임스페이스 선언
using System.Collections.Generic;
큐 사용방법
Queue<int> quque = new Queue<int>();
quque.Enqueue(10); // 첫 데이터
quque.Enqueue(11);
quque.Enqueue(12); // 마지막 데이터
int data = quque.Dequeue(); // 변수에 10을 반환하고 10을 삭제
int data2 = quque.Peek(); // 큐의 첫 번째 값인 11을 출력
Enqueue : 마지막 공간에 데이터 추가
Dequque : 첫 번째 데이터 삭제(선입선출)
Peek : 첫 번째 데이터 엿보기