스택 : 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) 프로그래머 상호간에 약속할때
}
}
}
'코딩 상식' 카테고리의 다른 글
델리게이트(delegate)와 이벤트(event) (0) | 2023.06.28 |
---|---|
객체 지향(OOP)이란 ?? (0) | 2023.06.27 |