- using System.Collections.Generic; 추가
Stack
- 후입선출
- LIFO(Last In First Out)
[ 함수 ]
- Push : Stack에 값을 저장
- Pop : Stack에서 값을 삭제
- Peek : Stack 최상단의 값을 확인
Stack<int> stack = new Stack<int>();
stack.Push(101);
stack.Push(102);
stack.Push(103);
stack.Push(104);
stack.Push(105);
// 빈 stack에 pop이나 peek하면 에러
if (stack.Count > 0)
{
int data = stack.Pop(); // 105
int data2 = stack.Peek(); // 104
}
Queue
- 선입선출
- FIFO(First In First Out)
[ 함수 ]
- Enqueue : queue에 값을 저장
- Dequeue : queue에서 값을 삭제
- Peek : queue 최상단의 값을 확인
Queue<int> queue = new Queue<int>();
queue.Enqueue(101);
queue.Enqueue(102);
queue.Enqueue(103);
queue.Enqueue(104);
queue.Enqueue(105);
if (queue.Count > 0)
{
int data = queue.Dequeue(); // 101;
int data2 = queue.Peek(); // 102;
}
LinkedList
- Stack과 Queue로 구현 가능
LinkedList<int> list = new LinkedList<int>();
// stack에서의 push
// queue에서의 enqueue
list.AddLast(101);
list.AddLast(102);
list.AddLast(103);
// stack
int value1 = list.Last.Value; // peek
list.RemoveLast(); // pop
// queue
int value2 = list.First.Value; // peek
list.RemoveFirst(); // dequeue
// dequeue와 queue의 peek은 시간 복잡도 O(n)
내용 출처 : Inflearn Rookiss님 강의 [C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
https://www.inflearn.com/course/%EC%9C%A0%EB%8B%88%ED%8B%B0-mmorpg-%EA%B0%9C%EB%B0%9C-part2
'C#' 카테고리의 다른 글
| [길찾기 알고리즘] 2. 그래프 (2) 그래프 기본 개념 (0) | 2024.11.23 |
|---|---|
| [길찾기 알고리즘] 1. 미로 준비 (5) 오른손 법칙 (0) | 2024.11.18 |
| [길찾기 알고리즘] 1. 미로 준비 (4) 플레이어 이동 (0) | 2024.11.17 |
| [길찾기 알고리즘] 1. 미로 준비 (2) Side Winder 방법 (0) | 2024.11.16 |
| [길찾기 알고리즘] 1. 미로 준비 (2) Binary Tree 방법 (0) | 2024.11.15 |