DS 우선순위 큐
DS 우선순위 큐는 DS 큐와 유사한 특별한 데이터 구조입니다. 여기서 값의 큐는 각 값에 할당된 우선순위(항상 실수)로 정렬됩니다. 이 구조는 리더보드나 각 항목의 중요성을 가중치로 두어 정보를 나열하는 데 매우 유용합니다.
함수 참조
함수 이름 | 설명 |
---|---|
ds_priority_create | 우선순위 큐 생성 |
ds_priority_destroy | 우선순위 큐 삭제 |
ds_priority_clear | 우선순위 큐 초기화 |
ds_priority_empty | 우선순위 큐가 비어있는지 확인 |
ds_priority_size | 우선순위 큐의 크기 반환 |
ds_priority_add | 우선순위 큐에 값 추가 |
ds_priority_change_priority | 우선순위 큐에서 값의 우선순위 변경 |
ds_priority_delete_max | 우선순위 큐에서 최대값 삭제 |
ds_priority_delete_min | 우선순위 큐에서 최소값 삭제 |
ds_priority_delete_value | 우선순위 큐에서 특정 값 삭제 |
ds_priority_find_max | 우선순위 큐에서 최대값 찾기 |
ds_priority_find_min | 우선순위 큐에서 최소값 찾기 |
ds_priority_find_priority | 우선순위 큐에서 특정 우선순위 찾기 |
ds_priority_copy | 우선순위 큐 복사 |
ds_priority_read | 우선순위 큐 읽기 |
ds_priority_write | 우선순위 큐 쓰기 |
활용 예제
1. 우선순위 큐 생성 및 값 추가
var myQueue = ds_priority_create();
ds_priority_add(myQueue, "Task A", 1);
ds_priority_add(myQueue, "Task B", 3);
ds_priority_add(myQueue, "Task C", 2);
2. 최대값 및 최소값 찾기
var maxTask = ds_priority_find_max(myQueue);
var minTask = ds_priority_find_min(myQueue);
3. 특정 값 삭제
ds_priority_delete_value(myQueue, "Task B");
4. 우선순위 변경
ds_priority_change_priority(myQueue, "Task A", 5);
5. 큐 비어있는지 확인
if (ds_priority_empty(myQueue)) {
show_message("큐가 비어 있습니다.");
}
6. 큐 크기 확인
var queueSize = ds_priority_size(myQueue);
이와 같은 방법으로 DS 우선순위 큐를 활용하여 다양한 데이터 관리 및 처리 작업을 수행할 수 있습니다.