Listat
Lista säilyttää kokoelmaa arvoista tietyssä järjestyksessä. Voit lisätä arvoja listan loppuun tai
johonkin väliin keskelle listaa. Voit viitata arvoihin käyttämällä indeksilukua. Voit myös järjestää
arvot joko nousevaan tai laskevaan järjestykseen. Listoja voidaan käyttää monella tapaa, esimerkiksi
muuttuvien arvoryhmien säilyttämiseen. Ne toteutetaan käyttämällä yksinkertaisia taulukoita, mutta
koska niitä käsitellään käännetyllä koodilla, niiden käyttäminen on paljon nopeampaa kuin oman taulukon
käyttäminen. Seuraavat toiminnot käsittelevät listoja:
ds_list_create()
Luo uuden listan. Funktio palauttaa kokonaisluvun, joka on listan id ja jota on käytettävä kaikissa
muissa funktioissa juuri tämän tietyn listan käsittelemiseksi. Voit luoda useita listoja.
ds_list_destroy(id)
Tuhoaa listan, jolla on annettu id, ja vapauttaa sen varaaman muistin. Älä unohda kutsua tätä,
kun et enää tarvitse listaa.
ds_list_clear(id)
Tyhjentää listan, jolla on annettu id, jolloin kaikki siinä oleva tieto poistetaan, mutta itse
listaa ei tuhota.
ds_list_copy(id,source)
Kopioi listan source listaan, jolla on annettu id.
ds_list_size(id)
Ilmoittaa listaan, jolla on annettu id, säilöttyjen arvojen määrän.
ds_list_empty(id)
Ilmoittaa, onko lista, jolla on annettu id, tyhjä. Tämä on sama asia, kuin jos testaisi, onko
listan koko 0.
ds_list_add(id,val)
Lisää arvon listan, jolla on annettu id, loppuun.
ds_list_insert(id,pos,val)
Lisää arvon listan, jolla on annettu id, keskelle ilmoitettuun sijaintiin. Ensimmäinen sijainti
on 0, kun taas viimeinen sijainti on listan koko miinus yksi.
ds_list_replace(id,pos,val)
Korvaa listan, jolla on annettu id, annetussa sijainnissa olevan arvon uudella arvolla.
ds_list_delete(id,pos)
Poistaa listalta, jolla on annettu id, annetussa sijainnissa olevan arvon. (Sijainti 0 on
ensimmäinen arvo.)
ds_list_find_index(id,val)
Etsii sijainnin, jossa on ilmoitettu arvo. Jos arvoa ei löydy listalta, funktio palauttaa arvon -1.
ds_list_find_value(id,pos)
Palauttaa arvon, joka on säilötty annettuun sijaintiin listalla, jolla on annettu id.
ds_list_sort(id,ascend)
Järjestää listan, jolla on annettu id, arvot. Kun ascend on tosi, arvot järjestetään nousevassa
järjestyksessä, muulloin laskevassa järjestyksessä.
ds_list_shuffle(id)
Sekoittaa listan, jolla on annettu id, arvot, jolloin ne päätyvät sattumanvaraiseen järjestykseen.
ds_list_write(id)
Muuntaa listatietorakenteen, 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_list_read(id,str)
Lukee tietorakenteen annetusta merkkijonosta (joka on luotu edellisellä funktiolla).