DS 큐 (DS Queues)
DS 큐는 DS 스택과 유사하지만, 선입선출(FIFO) 방식으로 작동합니다. 큐에 먼저 들어간 값이 가장 먼저 큐에서 제거됩니다. 이를 상점에서의 대기열로 생각할 수 있습니다. 대기열의 첫 번째 사람이 먼저 결제하고 상점을 떠나는 것과 같습니다. 큐는 일반적으로 인스턴스가 수행해야 할 작업이나 행동(예: 스크립트 형태)을 저장하는 데 사용되지만, 그 외에도 다양한 용도가 있습니다.
함수 참조
함수 이름 | 설명 |
---|---|
ds_queue_create | 새로운 큐를 생성합니다. |
ds_queue_destroy | 큐를 파괴합니다. |
ds_queue_clear | 큐의 모든 항목을 제거합니다. |
ds_queue_empty | 큐가 비어 있는지 확인합니다. |
ds_queue_size | 큐의 크기를 반환합니다. |
ds_queue_dequeue | 큐의 앞에서 항목을 제거하고 반환합니다. |
ds_queue_enqueue | 큐의 뒤에 항목을 추가합니다. |
ds_queue_head | 큐의 앞에 있는 항목을 반환합니다. |
ds_queue_tail | 큐의 뒤에 있는 항목을 반환합니다. |
ds_queue_copy | 큐의 복사본을 생성합니다. |
ds_queue_read | 큐에서 데이터를 읽습니다. |
ds_queue_write | 큐에 데이터를 씁니다. |
활용 예제
1. 기본 큐 생성 및 사용
var myQueue = ds_queue_create();
ds_queue_enqueue(myQueue, "첫 번째 항목");
ds_queue_enqueue(myQueue, "두 번째 항목");
2. 큐에서 항목 제거
var firstItem = ds_queue_dequeue(myQueue); // "첫 번째 항목"이 제거됨
3. 큐의 크기 확인
var queueSize = ds_queue_size(myQueue); // 큐의 현재 크기를 반환
4. 큐 비어 있는지 확인
if (ds_queue_empty(myQueue)) {
show_message("큐가 비어 있습니다.");
}
5. 큐의 모든 항목 제거
ds_queue_clear(myQueue); // 큐의 모든 항목을 제거
이와 같은 방식으로 DS 큐를 활용하여 다양한 작업을 수행할 수 있습니다.