[C# 문법] 자료구조 Stack 이란?


안녕하세요.

오늘은 C#에서 제공해주는 Stack 클래스 사용하는 방법에 대해서 설명드리고자 해요.

 

자료구조를 공부하신 분들이라면, Stack에 대해서 잘 아실거라 생각 하는데요!ㅎㅎ

 

그렇지 않은 분들이 많이 계시기 때문에 간단히 Stack의 개념에 대해서 알려드리도록 하겠습니다.


 

STACK 이란?


-     쉽게 말해, Stack이란 한 쪽 끝에서만 Data를 넣고 뺄 수 있는 LIFO(Last In First Out) 형식의 자료 구조입니다.

 

더욱 이해를 돕기 위해 아래 Stack의 모습을 그려보았습니다.


 

STACK 원리 모습




위의 사진을 보시게 되면 제일 처음에 들어갔던 데이터가 나오는 출입구가 하나밖에 없기 때문에 제일 마지막에 나오게 되고, 반대로 제일 마지막에 들어갔던 데이터가 제일 처음으로 나오게 되는 구조가 바로 STACK 구조입니다!

 

그러면 실제 C#에서 제공해주는 Stack 클래스를 이용하여 예제코드를 작성해 보도록 하겠습니다.


 

STACK 예제 코드


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

using System;

using System.Collections;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

namespace Stack2

{

    class Program

    {

        static void Main(string[] args)

        {

            //Stack 객체 선언

            Stack _stack = new Stack();

 

            //Stack 객체에 Data 넣어 보관하기

            _stack.Push("안녕");

            _stack.Push("하세요.");

            _stack.Push("범범조조입니다.");

            _stack.Push("내가 제일 첫번째 출력된다.");

 

            Console.WriteLine("Stack Data 출력하기 :");

            //_stack객체에 저장되어 있는 데이터 순서대로 출력하기

            foreach(var str in _stack)

            {

                Console.Write(" {0}", str);

            }

            Console.WriteLine();

        }

    }

}

 

Colored by Color Scripter

cs

 

실행 결과



 

이처럼, 제일 마지막에 저장된 데이터부터 차례대로 출력이 되는 것을 확인하실 수 있습니다!^^

 

감사합니다ㅎㅎ


728x90

이 글을 공유하기

댓글

Designed by JB FACTORY