스택과 큐

이승한·2023년 7월 25일
0

CSharp

목록 보기
19/25

스택(Stack)

  • 후입선출 LIFO : Last in First out
class Program
{
	static void Main(string[] args)
    {
    	Stack<int> stack = new Stack<int>();
        stack.Push(101);
        stack.Push(102);
        stack.Push(103);
        stack.Push(104);
        
        int data1 = stack.Pop();
        int data2 = stack.Pop();
        int data3 = stack.Peek(); 
    }
}
  • Push까지 실행 결과

  • Pop까지 실행 결과

data1 = 104
data2 = 103

  • Peek : 다음 Pop을 했을 때처럼 데이터를 가져올 수 있다. 다만 stack에서 삭제하지않고 데이터만 가져오는거라 Count 영향 X
    data3 = 102

활용 예시: 게임을 클리어하고 여러가지 창들이 화면에 표시될 수 있는데 이러한 여러 창들은 마지막에 나온 창부터 꺼야하니 활용할 수 있다.


큐(Queue)

  • 선입선출 FIFO : First in First out
class Program
{
	static void Main(string[] args)
    {
    	Queue<int> queue = new Queue<int>();
        queue.Enqueue(101);
        queue.Enqueue(102);
        queue.Enqueue(103);
        queue.Enqueue(104);
        
        int data4 = queue.Dequeue();
        int data5 = queue.Dequeue();
        int data6 = queue.Peek();
        
    }
}
  • Enqueue까지 실행 결과

  • Dequeue까지 실행 결과

    data4 = 101
    data5 = 102

  • Peek : 다음 Dequeue했을 때처럼 데이터를 가져 올 수있다. 다만 Queue에서 삭제하지않고 데이터만 가져오는거라 Count 영향 X
    data6 = 103

활용 예시 : 어떠한 게임에서 몬스터에 들어오는 여러가지 공격들을 서버에서 처리하기 위해 들어온 순서대로 Queue를 활용하여 순차적으로 처리할 수 있다.

0개의 댓글