승쨩개발공부
[DS] 스택(Stack) / 큐(Queue) 본문
스택(Stack)
Stack이란 자료구조는 규칙이 다음과 같다.
1. 저장 : 항상 위에만 저장한다.
2. 읽기 : 항상 제일 위에 있는 데이터만 읽을 수 있다.
3. 삭제 : 항상 제일 위에 있는 데이터만 삭제 할 수 있다.
STACK은 위 규칙을 가진 전용 자료구조 이고 배열을 이용해서 구현해도 좋고
또는 LIST 를 이용해서 구현해도 좋다. 구현 방벙은 개발자의 자유다.
데이터 방식 : LIFO(Last In First Out) 후입 선출
마지막에 들어온 데이터가 먼저 나간다.
게임에서의 활용 : 역순으로 객체나 이벤트를 처리해야 할 떄 유용하다.
UI같은거 유용함.
리스트 기반 스택
코드
첫번쨰 Push의 Next는 m_Head = null이다
그림설명
큐(Queue)
스택과 비슷한 자료구조이며 현업에서 굉장히 많이 사용된다.
여러 함수에서 신호들이 한꺼번에 들어오면, 순차 처리를 위한 대기열 용도로 사용된다.
데이터 방식 : FIFO(First In First Out) 선입 선출
먼저 들어온 데이터가 먼저 나간다.
게임에서의 활용 : 순서대로 객체나 이벤트를 처리해야 할 떄 유용하다.
대기열,채팅, 등 무궁무진함.
리스트 기반 큐
코드
그림설명
리스트 기반 스택과 큐
스택은 LIFO구조이고
큐는 FIFO구조이다
주소값을 LIFO식으로 가지게할지 FIFO식으로 가지게할지 고려하면
쉽게 스택과 큐를 구현할수 있다
'Algorithm & Data Structure > Data Structure' 카테고리의 다른 글
[DS] STL List push_back, push_front 구현 (0) | 2024.12.29 |
---|---|
[DS] 링크드리스트 (0) | 2024.12.26 |
[DS] HashTable - DTS 연습 문제 (1) | 2024.12.17 |
[DS] 자료구조 HashTable - DAT(Direct Adressing Table) (2) | 2024.12.17 |