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