Приоритетные очереди
В приоритетном множестве очереди каждое значение загружается с приоритетом. Вы можете быстро найти значение с минимальным и максимальным приоритетом. Используя эту дата-структуру, Вы можете прооперировать определённые вещи в порядке приоритета. Существуют следующие функции:
ds_priority_create()
Создаёт новую приоритетную очередь. Функция возвращает целое как id, что должно быть использовано во всех других функциях, чтобы иметь доступ к конкретной приоритетной очереди.
ds_priority_destroy(id)
Уничтожает приоритетную очередь с заданным id, освобождая используемую память. Не забывайте вызывать эту функцию, когда у Вас готова структура.
ds_priority_clear(id)
Очищает приоритетную очередь с заданным id, удаляя все данные из неё, но её не уничтожая.
ds_priority_copy(id,source)
Копирует приоритетную очередь source в приоритетную очередь с заданным id.
ds_priority_size(id)
Возвращает количество значений загруженных в приоритетную очередь.
ds_priority_empty(id)
Возвращает, если приоритетная очередь пуста. Это так же тестирует, если размер - 0.
ds_priority_add(id,val,prio)
Добавляет значение с заданным преимуществом приоритетной очереди.
ds_priority_change_priority(id,val,prio)
Изменяет приоритет заданного значения в приоритетной очереди.
ds_priority_find_priority(id,val)
Возвращает приоритет заданного значения в приоритетную очередь.
ds_priority_delete_value(id,val)
Удаляет заданное значение (со своим приоритетом) из приоритетной очереди.
ds_priority_delete_min(id)
Возвращает значение с минимальным приоритетом и удаляет его из приоритетной очереди.
ds_priority_find_min(id)
Возвращает значение с минимальным приоритетом, но не удаляет его из приоритетной очереди.
ds_priority_delete_max(id)
Возвращает значение с самым большим приоритетом и удаляет его из приоритетной очереди.
ds_priority_find_max(id)
Возвращает значение с самым большим приоритетом, но не удаляет его из приоритетной очереди.
ds_priority_write(id)
Превращает дата-структуру в строку и возвращает эту строку. Строка может использоваться, например, чтобы сохранить ее в файл. Это обеспечивает простой механизм сохранения дата-структур.
ds_priority_read(id,str)
Читает дата-структуру из данной строки (которая создана предыдущим запросом).