본문 바로가기
C# 공부

[자료구조] 스택(Stack)

by Dev_Hugh 2023. 6. 23.
728x90
반응형

스택이란

-가장 나중에 추가된 데이터가 먼저 출력 처리되는 Last In First Out(LIFO) 자료구조다.

-가장 최근에 입력된 순서대로 처리해야 하는 상황에 이용된다.

-자료를 스택에 저장할 땐 Push, 꺼낼 땐 가장 최근 것부터 꺼내는데 이를 Pop 이라 한다.

-스택에서 Pop시 스택에 top 값을 가져오면서  삭제한다.

 

Stack 클래스

-.NET에는 Non-Generic인 Stack 클래스와 Generic 형태인 Stack<T> 클래스가 있다.

-Stack은 내부적으로 순환 배열로 구현되어 있으며, 스택이 가득 차면 자동으로 배열을 동적으로 확장한다.

 

사용 예제

using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        Stack<int> stk = new Stack<int>();
        stk.Push(1);
        stk.Push(2);
        stk.Push(0);
        int popNum = stk.Pop();
        stk.Push(3);
        
        foreach(int i in stk)
        {
            Console.WriteLine(i); //3 2 1 출력
        }
        Console.WriteLine(popNum); //0출력
    }
}

 

728x90
반응형