코딩 상식

스택과 큐

Mostlove 2023. 7. 14. 15:16
728x90
반응형

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

큐 : FIFO(선입 선출First in First out)

namespace Exercise
{
    internal 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);
            stack.Push(105);

            int data = stack.Pop();//Pop, Peek은 stack 값이 없을 경우 에러 출력
            int data2 = stack.Peek();

            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();
            int data4 = queue.Peek();

            LinkedList<int> list  = new LinkedList<int>();
            list.AddLast(101);
            list.AddLast(102);
            list.AddLast(103);

            //FIFO
            int value1 = list.First.Value;
            list.RemoveFirst();

            //LIFO
            int value2 = list.Last.Value;
            list.RemoveLast();
            //LinkedList로 스택과 큐를 구현할 수 있지만
            //스택과 큐는 추상적인 부분에서 좋다 ex) 프로그래머 상호간에 약속할때  
        }
    }
}

반응형