Liste

Una lista memorizza una collezione di valori in un particolare ordine. Puoi aggiungere valori alla fine o inserire qualcosa nel mezzo della lista. Puoi indirizzare i valori usando un indice. Puoi anche ordinare gli elementi, sia in ordine crescente o decrescente. Le liste possono essere usanti in molti modi, per esempio per memorizzare cambiamenti di collezioni di valori. Loro sono implementate usando semplici arrays ma, questo è fatto in codice compilato ed è più veloce che usando un proprio array. Le seguenti funzioni sono disponibili:

ds_list_create() Creata una nuova lista. Le funzioni ritornano un intero come id che deve essere usato in tutte le altre funzioni per accedere a particolare liste.
ds_list_destroy(id) Distrugge la lista con dato id, liberando la memoria usata. Non dimenticarti di chiamare questa funzioni quando sei pronto con la struttura.
ds_list_clear(id) Pulisce la lista con dato id, rimuovendo tutti i dati da essa ma senza distruggerla.
ds_list_copy(id,source) Copia il contenuto della lista nella lista con dato id.
ds_list_size(id) Ritorna il numero di valori memorizzati nella lista.
ds_list_empty(id) Ritorna quando la lista è vuota. È come testare se la dimensione è 0.
ds_list_add(id,val) Aggiunge il valore alla fine della lista.
ds_list_insert(id,pos,val) Inserisce il valore alla posizione pos nella lista. La prima posizione è 0, l'ultima posizione è la dimensione della lista meno 1.
ds_list_replace(id,pos,val) Riposiziona il valore alla posizione pos nella lista con il nuovo valore.
ds_list_delete(id,pos) Cancella il valore alla posizione pos nella lista. (La posizione 0 è il primo elemento.)
ds_list_find_index(id,val) Cerca la posizione memorizzata al valore indicato. Se il valore non è nella lista -1 è ritornato.
ds_list_find_value(id,pos) Ritorna il valore memorizzato alla posizione indicata nella lista.
ds_list_sort(id,ascend) Ordina i valori nella lista. Quando ascend è true i valori sono ordinati in ordine crescente, altrimenti in ordine decrescente.
ds_list_shuffle(id) Mescola i valori nella lista in modo tale da finire in un ordine casuale.
ds_list_write(id) Converte la struttura-dati (data structure) in una stringa e restituisce questa stringa. La stringa può quindi essere utilizzata, per esempio, per essere salvata in un file. Questa funzione fornisce un semplice meccanismo per salvare strutture dati.
ds_list_read(id,str) Legge la struttura dati dalla stringa data (creata dalla precedente chiamata).