기초 메모지

C# - 스택(Stack) 본문

Languages/C#

C# - 스택(Stack)

라큐브 2022. 7. 10. 20:37

스택(Stack)

LIFO(Last-In First-Out) 구조로 마지막에 들어간 데이터가 처음으로 나오는 구조 입니다.

그림을 참고 해서 소스를 살펴보면

 

// StckCapacity를 지정합니다. 
const int StckCapacity = 5;
// StckCapacity 지정하지 않으면 데이터가 추가될때마다 스택 크기가 증가합니다.
static Stack<string> stack = new Stack<string>(StckCapacity);

static void StackPush()
{
    for (int i = 0; i <= StckCapacity; i++)
    {
        stack.Push(i.ToString());
    	Console.WriteLine("STACK [" + i + "] = " + i);
    }
}

// STACK[0] = 0
// STACK[1] = 1
// STACK[2] = 2
// STACK[3] = 3
// STACK[4] = 4

static void StackPop()
{
    for (int i = 0; i <= StckCapacity; i++)
    {
        Console.WriteLine(stack.Pop());
    }
}

// 4
// 3
// 2
// 1
// 0

Push : 반복문으로 0~4까지 삽입합니다.

Pop   : 반복문으로 4~0까지 출력됩니다.

 

결과를 확인하면 마지막으로 삽입한 4가 처음 출력되며 스택(Stack)의 선입선출 LIFO(Last-In First-Out) 특징을 잘 보여줍니다.

반응형

'Languages > C#' 카테고리의 다른 글

C# - 반복문(Loop)  (0) 2022.07.13
C# - 큐(Queue)  (0) 2022.07.10
C# - 삼항 연산자(Ternary Operator)  (0) 2022.07.08
C# - 유효 범위(Scope)  (0) 2022.07.07
C# - 상수(Constant), 변수(Variable)  (0) 2022.07.07
Comments