호빵의 IT 개발소

[C#] 스택과 큐 본문

자료구조와 알고리즘/자료구조와 알고리즘 맛보기

[C#] 스택과 큐

호빵Stack 2022. 1. 11. 20:23

1. 스택 : LIFO(후입선출, Last in First out)

 -나중에 들어간게 먼저 나온다.

 -예) 게임에서 아이템 구매창 UI가 여러개 뜨면 X를 누르면 맨마지막에 뜬 UI부터 닫힌다.


2. 큐 : FIFO(선입선출, First in First out)

 -먼저 들어간게 먼저 나온다.

 -예) 게임 접속자가 많아서 대기열이 걸리면 먼저 들어온 사람부터 차례로 입장한다.

class Program
{
    //스택 : LIFO(후입선출, Last in First out)
    //큐 : FIFO(선입선출, First in First out)
    static void Main(string[] args)
    {
        Stack<int> stack = new Stack<int>();
        stack.Push(101); 
        stack.Push(102); 
        stack.Push(103); 
        stack.Push(104); 
        stack.Push(105); 

        int data = stack.Pop(); // Pop : 데이터를 뽑아냄, 105를 뽑아냄 104 103 102 101
        int data2 = stack.Peek(); //Peek : 마지막에 데이터가 무엇인지 확인, 104

        Queue<int> queue = new Queue<int>();
        queue.Enqueue(101);
        queue.Enqueue(102);
        queue.Enqueue(103);
        queue.Enqueue(104);
        queue.Enqueue(105);

        int data3 = queue.Dequeue(); //Dequeue : 데이터를 뽑아냄 , 101을 뽑아냄 102 103 104 105
        int data4 = queue.Peek(); //Peek : 마지막에 데이터가 무엇인지 확인, 102
    }
}

 

스택 예제 그림)

 

큐 예제 그림)

 

 

---------------------------------------------------------------------------------------------------------------------------

참고 : [인프런] Rookiss님의 [C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘

Comments