C#
2024.03.12 - 스택(Stack)
강병곤
2024. 3. 12. 17:15
- 자료구조(Data Structure)
자료구조란 데이터를 표현하고 저장하는 방법을 말한다.
- 자료구조의 스택(Stack)
스택은 나중에 추가된 데이터가 먼저 출력되는 후입선출(Last-In First-Out : LIFO) 자료구조이다.
스택을 상자나 프링글스 통이라고 생각하면 좋다.
스택에 데이터를 넣는 과정을 push, 스택에서 데이터를 출력하는 과정을 pop이라고 한다.
스택의 맨 뒤에 저장된 데이터를 top이라고 한다.
- C#에서의 스택
C#에서는 일반화된 Stack<T> 클래스를 통해 스택 자료구조를 지원한다.
- 스택을 선언하는 방법
Stack<자료형> 스택_이름 = new Stack<자료형>();
- 스택에 데이터를 넣고(Push) / 빼보자(Pop)
스택_이름.Push(넣을_데이터); //스택에 데이터를 담는다.
스택_이름.Pop(); //스택의 top에 위치한 데이터를 반환하고 스택에서 제거한다.
데이터가 10, 20, 30 순서로 쌓여서 가장 나중에 들어온 30부터 데이터가 빠져나간다.
※주의 사항
스택에 데이터가 없을 때 Pop하려고하면 예외가 발생한다.
- 스택에 담은 데이터 개수를 세기(Count)
스택_이름.Count //스택에 담은 데이터 개수를 반환한다.
- 스택의 top에 위치한 데이터 보기(Peek)
스택_이름.Peek() //스택의 top에 위치한 데이터를 반환한다. Pop과 달리 데이터를 제거하지 않는다.