Очереди

Очередь отчасти подобна стеку, но она работает как FIFO основы (First-In First-Out). Значение, в которое вложена очередь, сначала должно быть первоначальным, чтобы потом удалиться из очереди. Это аналогично очереди в магазине. Человек, который стоит первый в очереди обслуживается сначала. Очереди обычно используются для загрузки "вещей", которые всё ещё должны быть сделаны, но используется и для другого. Cуществуют следующие функции (отметьте, что первые пять - эквиваленты функциям для стеков; все дата-структуры имеют эти пять функций).

ds_queue_create() Создаёт новую очередь. Функция возвращает целое как id, что должно быть использовано во всех других функциях, чтобы иметь доступ к конкретной очереди. Вы можете создать многочисленные очереди.
ds_queue_destroy(id) Уничтожает очередь с заданным id, освобождая используемую память. Не забывайте называть эту функцию, когда у Вас готова структура.
ds_queue_clear(id) Очищает очередь с заданным id, удаляя все данные из неё, но её не уничтожая.
ds_queue_copy(id,source) Копирует очередь source в очередь с заданным id.
ds_queue_size(id) Возвращает число загруженного в очередь значения.
ds_queue_empty(id) Возвращает, если очередь пуста. Это так же проверяет, если размер - 0.
ds_queue_enqueue(id,val) Вводит значение в очередь.
ds_queue_dequeue(id) Возвращает наибольшее значение в очередь и его удаляет.
ds_queue_head(id) Возвращает значение в начало очереди, то есть то значение, которое было самым большим в очереди. (Из очереди не удаляет.)
ds_queue_tail(id) Возвращает значение в конец очереди, то есть то значение, которое было совсем недавно добавлено к очереди. (Из очереди не удаляет.)
ds_queue_write(id) Превращает дата-структуру в строку и возвращает эту строку. Строка может использоваться, например, чтобы сохранить ее в файл. Это обеспечивает простой механизм сохранения дата-структур.
ds_queue_read(id,str) Читает дата-структуру из данной строки (которая создана предыдущим запросом).