Приоритетные очереди

В приоритетном множестве очереди каждое значение загружается с приоритетом. Вы можете быстро найти значение с минимальным и максимальным приоритетом. Используя эту дата-структуру, Вы можете прооперировать определённые вещи в порядке приоритета. Существуют следующие функции:

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) Читает дата-структуру из данной строки (которая создана предыдущим запросом).