728x90
- 스택(Stack)이란
- Stack : 쌓다의 의미
- 후입선출(後入先出) 구조
- LIFO(Last - In - First - Out)
- 휴대폰 앱의 화면 이동 방식 / 브라우저의 뒤로가기 / Ctrl+Z(Undo)
- 스택은 한 번에 한 개의 데이터만 꺼낼 수 있다(하나씩 꺼낸다)
- Push(삽입)와 Pop(삭제)
- Push(Data) : 저장공간에 데이터를 집어넣는 행위
스택에 데이터가 꽉 차면 오버플로우(Overflow) 현상이 발생. IsFull() 함수로 확인할 수 있음
- Pop() : 저장공간에서 데이터를 빼내는 행위, 최상단의 데이터를 가리킴
스택에 데이터가 비게 되면 언더플로우(Underflow) 현상이 발생. IsEmpty() 함수로 확인할 수 있음
- Peek() : 스택의 최상단의 값만을 확인함(데이터 삭제 없이), Pee()를 여러번 수행해도 갯수는 변화 없이 값만 확인
class Program
{
static void Main(string[] args)
{
Stack<int> stack = new Stack<int>();
stack.Push(1); //1
stack.Push(2); //1, 2
stack.Pop(); //1
stack.Push(3); //1, 3
stack.Push(4); //1, 3, 4
stack.Peek(); //4
stack.Push(5); //1, 3, 4, 5
Console.WriteLine("스택의 갯수 : " + stack.Count);
while(stack.Count > 0)
{
Console.WriteLine(stack.Pop());
}
}
}
728x90
'게임 프로그래밍 > C#' 카테고리의 다른 글
C# 선형 자료구조 - 해쉬테이블 & 딕셔너리(HashTable & Dictionary<T>) (0) | 2021.12.27 |
---|---|
C# 선형 자료구조 - 큐(Queue) (0) | 2021.12.26 |
C# 선형 자료구조 - 연결리스트(LinkedList) (0) | 2021.12.25 |
C# 선형 자료구조 - 리스트(List, ArrayList, LinkedList) (0) | 2021.12.25 |
C# 선형 자료구조 - 배열 (1) | 2021.12.25 |