미처 완성되지 못한 알고리즘
스택은 FILO(first in last out) 또는 LiFO(Last in First out )으로 선입후출,후입선출. 즉, 처음 들어간 데이터가 가장 마지막에 나오는 구조이다. 스택은 한방향에서 데이터의 인풋, 아웃풋이 이뤄진다. 계산기에서 자주 사용된다. 중요 ADT로는 데이터 입력을 Push, 데이터 출력을 Pop이라 한다.
Undo기능을 추가할 때 유용하다. abstract class Command { protected Receiver m_receiver; public Command(Receiver receiver) { m_receiver = receiver; } public abstract void Execute(); } class ConcreteCommand : Command { public ConcreteCommand(Receiver receiver) : base(receiver) { } public override void Execute() { m_receiver.Action(); } } class Receiver { public void Action() { Console.WriteLine("Called Receiv..
상태 체크를 하여, 변경 시 결과에 따라 수행시킬 수 있다. 주로 UI에 쓰인다. abstract class Observer { public abstract void Update(); } abstract class Subject { private List m_observers = new List(); public void Attach(Observer observer) { m_observers.Add(observer); } public void Detach(Observer observer) { m_observers.Remove(observer); } public void Notify() { foreach (Observer o in m_observers) o.Update(); } } class Concret..