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