A ds_queue is somewhat similar to a ds_stack but it works on a first-in first-out (FIFO) basis. The value that is put into the queue first is also the first to be removed from it. You can think of it like a queue in a shop for paying, where the person that is first in the queue pays first and then leaves the shop. Queues are typically used to store actions or behaviours (in the form of scripts, for example) that still need to be done by an instance but there are many other uses.
NOTE: As with all dynamic resources, data structures take up memory and so should always be destroyed when no longer needed to prevent memory leaks which will slow down and eventually crash your game.
The following functions exist that deal with ds_queues:
NOTE: if you need to check if a data structure exists, you can use the ds_exists() function.