[자료구조] 4. 큐(Queue)

업데이트:

카테고리:

태그: ,




큐(Queue)

큐(Queue)







큐(Queue)

특징, 장단점

PUSH, POP

특징
   1. FIFO(First In, First Out)
   2. 순차적 처리

장점
   1. 직관적인 구조
   2. 데이터 처리에 공정함
   3. 자원 관리에 유용함(cpu 스케쥴링, 네트워크 요청)

단점
   1. 낮은 유연성 : 중간에 위치한 요소에 직접접근 어려움.



게임 개발 활용

활용 상황
   1. 순차적인 이벤트나 행동 처리
   2. 공유 자원을 순차적으로 관리
   3. 멀티 플레이어 동기화가 필요한 상황
   4. 비동기 작업 관리(데이터 로딩, 네트워크 통신)

활용 예시
   1. 입력 이벤트 처리
   2. 캐릭터 동작 대기열 - 여러 동작을 빠르게 입력할 때 큐에 저장되어 관리
   3. AI 명령 처리 - AI 행동을 큐에 넣어 관리, 순차적 움직임
   4. 네트워크 메시지 처리
   5. 리소스 로딩 관리 - 새로운 레벨 이동 시 리소스 로딩 작업 큐로 처리, 로딩 시간 최적화, 리소스의 우선순위 할당


순차적 행동
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ActionQueue : MonoBehaviour
{
    private Queue<string> actionQueue = new Queue<string>();

    void Update()
    {
        // 예를 들어, 플레이어가 특정 키를 누를 때마다 큐에 행동 추가
        if (Input.GetKeyDown(KeyCode.Space))
        {
            EnqueueAction("Jump");
        }

        // 큐에 행동이 있고, 일정 조건이 충족되면 행동 실행
        if (actionQueue.Count > 0)
        {
            PerformAction(actionQueue.Dequeue());
        }
    }

    void EnqueueAction(string action)
    {
        actionQueue.Enqueue(action);
    }

    void PerformAction(string action)
    {
        Debug.Log("Performing action: " + action);
    }
}







TOP




📔

댓글남기기