Jonot

Jono on pinon kanssa melko lailla samanlainen, mutta se toimii FIFO-periaatteella (First-In First-Out, ensimmäisenä sisään, ensimmäisenä ulos). Arvo, joka asetetaan ensimmäisenä jonoon, on myös ensimmäinen, joka sieltä poistetaan. Se toimii kuten kaupan kassa: ensimmäisenä jonossa olevaa palvellaan ensimmäisenä. Jonoja käytetään usein säilyttämään tietoa, mitä vielä pitää tehdä, mutta niillä on monia muitakin käyttökohteita. Seuraavat funktiot käsittelevät jonoja (huomaa, että ensimmäiset kuusi ovat samanlaiset kuin pinoilla; kaikilla tietorakenteilla on nämä kuusi funktiota).

ds_queue_create() Luo uuden jonon. Funktio palauttaa kokonaisluvun, joka on jonon id ja jota on käytettävä kaikissa muissa funktioissa juuri tämän tietyn jonon käsittelemiseksi. Voit luoda useita jonoja.
ds_queue_destroy(id) Tuhoaa jonon, jolla on annettu id, ja vapauttaa sen varaaman muistin. Älä unohda kutsua tätä, kun et enää tarvitse jonoa.
ds_queue_clear(id) Tyhjentää jonon, jolla on annettu id, jolloin kaikki siinä oleva tieto poistetaan, mutta itse jonoa ei tuhota.
ds_queue_copy(id,source) Kopioi jonon source jonoon, jolla on annettu id.
ds_queue_size(id) Ilmoittaa jonoon, jolla on annettu id, säilöttyjen arvojen määrän.
ds_queue_empty(id) Ilmoittaa, onko jono, jolla on annettu id, tyhjä. Tämä on sama asia, kuin jos testaisi, onko jonon koko 0.
ds_queue_enqueue(id,val) Lisää arvon jonoon, jolla on annettu id.
ds_queue_dequeue(id) Palauttaa pisimpään jonossa, jolla on annettu id, olleen arvon ja poistaa sen jonosta.
ds_queue_head(id) Palauttaa jonon, jolla on annettu id, etupäässä olevan arvon, eli sen arvon, joka on ollut jonossa kauimpaan. (Sitä ei poisteta jonosta.)
ds_queue_tail(id) Palauttaa jonon, jolla on annettu id, häntäpäässä olevan arvon, eli sen arvon, joka on viimeksi lisättyjonoon. (Sitä ei poisteta jonosta.)
ds_queue_write(id) Muuntaa jonotietorakenteen, jolla on annettu id, merkkijonoksi ja palauttaa sen. Tätä merkkijonoa voidaan sitten käyttää esim. sen tallentamiseen tiedostoon. Tällä tavoin tietorakenteiden tallentaminen helpottuu.
ds_queue_read(id,str) Lukee tietorakenteen annetusta merkkijonosta (joka on luotu edellisellä funktiolla).